创建可终止的请求
一般使用 Promise 时,是不能终止的,需要实现一个可以终止的 Promise,利用 AbortController 即可
function myAbortPromise(cb,{signal}) { return new Promise((resolve, reject) => { if(signal.aborted) { throw new Error() } cb(resolve, reject) signal.addEventListener('abort', () => { reject(signal.reason) }) }) } const ac = new AbortController() const {signal} = ac myAbortPromise((resovle, reject) => {}, {signal})
- 如果超时就中断,可以使用 Promise.race
- AbortController 可以中止 fetch ,事件监听,对于低版本也有对应的 polyfill
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论