Javascript 如何一次取消所有正在进行的承诺
设想一个工具通过该功能发出数百个请求(Javascript 如何一次取消所有正在进行的承诺,javascript,promise,es6-promise,Javascript,Promise,Es6 Promise,设想一个工具通过该功能发出数百个请求(Promise): 函数发送(请求承诺、成功fn、失败fn){ 递增计数器(); 请求承诺() .then(response=>successFn(response.headers,response.data)) .catch(()=>failureFn()) .最后(()=>递减计数器()); } 现在,假设由于客户端达到API速率限制,联系的服务器决定拒绝所有后续请求 假设客户机希望停止等待所有请求:客户机如何使所有正在进行的承诺失败 因此,限制条件是
Promise
):
函数发送(请求承诺、成功fn、失败fn){
递增计数器();
请求承诺()
.then(response=>successFn(response.headers,response.data))
.catch(()=>failureFn())
.最后(()=>递减计数器());
}
现在,假设由于客户端达到API速率限制
,联系的服务器决定拒绝所有后续请求
假设客户机希望停止等待所有请求:客户机如何使所有正在进行的承诺失败
因此,限制条件是:
- 不应等待服务器的响应(不应执行
)then()
- 取消应该触发
和catch()
调用finally()
- 即使是已排队但尚未触发服务器调用的
承诺也应取消