javascript - 如何重构函数以在间隔停止时返回 promise ?

标签 javascript promise intervals

我有以下函数,它在内部运行一个间隔,直到某些工作完成:

doTasks() {

 let myInterval = setInterval(() => {

  // do some work

  if(workComplete === true) {
    clearInterval(myInterval);
  }

 },500);

}

当间隔停止时,如何转换此函数以返回已解决的 promise ?

最佳答案

假设您真正想要的是在清除间隔时解决 promise ,而不是仅在那时返回它,您会这样做:

doTasks() {
    return new Promise(resolve => {
        let myInterval = setInterval(() => {
            if(workComplete === true) {
                clearInterval(myInterval);
                resolve()
            }
        },500);        
    })
}

关于javascript - 如何重构函数以在间隔停止时返回 promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59134680/

相关文章:

javascript - Angular2 使用 npm reflect-metadata 或 core-js/es7/reflect

Javascript Promise/然后失去范围

javascript - nodejs mysql 无法执行查询

postgresql - 如何在 Hibernate 中映射 PostgreSQL Interval 列类型?

algorithm - 最小化覆盖一组给定间隔的框数

javascript - knockout 绑定(bind)中的同步动画

javascript - 为大型网站组织 JS 包含的一些好的技术是什么?

javascript - 在日期 javascript 中添加天数

javascript - 在 Javascript 中使用 prams 链接 Promise

c++ - 基于区间的数据结构(类似于boost icl)