如何在间隔停止时将函数重构为 return 承诺?
How to refactor a function to return a promise when an interval has been stopped?
我有以下函数在内部运行一个间隔,直到完成一些工作:
doTasks() {
let myInterval = setInterval(() => {
// do some work
if(workComplete === true) {
clearInterval(myInterval);
}
},500);
}
当间隔停止时,如何将此函数转换为 return 已解决的承诺?
假设您真正想要的是在清除间隔时解决承诺,而不是仅在那时返回它,您会这样做:
doTasks() {
return new Promise(resolve => {
let myInterval = setInterval(() => {
if(workComplete === true) {
clearInterval(myInterval);
resolve()
}
},500);
})
}
我有以下函数在内部运行一个间隔,直到完成一些工作:
doTasks() {
let myInterval = setInterval(() => {
// do some work
if(workComplete === true) {
clearInterval(myInterval);
}
},500);
}
当间隔停止时,如何将此函数转换为 return 已解决的承诺?
假设您真正想要的是在清除间隔时解决承诺,而不是仅在那时返回它,您会这样做:
doTasks() {
return new Promise(resolve => {
let myInterval = setInterval(() => {
if(workComplete === true) {
clearInterval(myInterval);
resolve()
}
},500);
})
}