收紧充值确认延迟信号约束
要求所有微信充值确认延迟显式传入 AbortSignal。 移除可选 signal 分支,防止后续调用绕过订单生命周期取消。
This commit is contained in:
@@ -202,22 +202,22 @@ function assertWechatRechargeConfirmationActive(
|
||||
}
|
||||
}
|
||||
|
||||
function waitWechatPayConfirmDelay(delayMs: number, signal?: AbortSignal) {
|
||||
function waitWechatPayConfirmDelay(delayMs: number, signal: AbortSignal) {
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
if (signal?.aborted) {
|
||||
if (signal.aborted) {
|
||||
reject(createWechatRechargeAbortError(signal));
|
||||
return;
|
||||
}
|
||||
const timerId = window.setTimeout(() => {
|
||||
signal?.removeEventListener('abort', handleAbort);
|
||||
signal.removeEventListener('abort', handleAbort);
|
||||
resolve();
|
||||
}, delayMs);
|
||||
const handleAbort = () => {
|
||||
window.clearTimeout(timerId);
|
||||
signal?.removeEventListener('abort', handleAbort);
|
||||
reject(createWechatRechargeAbortError(signal!));
|
||||
signal.removeEventListener('abort', handleAbort);
|
||||
reject(createWechatRechargeAbortError(signal));
|
||||
};
|
||||
signal?.addEventListener('abort', handleAbort, { once: true });
|
||||
signal.addEventListener('abort', handleAbort, { once: true });
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user