异步
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);