跳到主要内容

异步

2023年07月14日
柏拉文
越努力,越幸运

一、Abort Async


就是利用AbortController对象的signal属性的abort事件来取消自定义异步任务

let timer;
const controller = new AbortController();

function asyncTask() {
return new Promise((resolve, reject) => {
timer = setTimeout(() => {
resolve("success");
}, 8000);

controller.signal.addEventListener("abort", function () {
clearTimeout(timer);
reject("abort");
});
});
}

asyncTask()
.then((res) => {
console.log(res);
})
.catch((error) => {
console.log(error);
});

setTimeout(() => {
controller.abort();
}, 3000);

二、Timeout Abort Async


三、Timeout Explicit Abort Async