setInterval定时器的返回如何持续接收?

新手上路,请多包涵
function sleep(time) {
        return new Promise((resolve) => setInterval(resolve, time));
    }
    sleep(5000).then(() => console.log('我会在5秒后打印'));
阅读 1.3k
1 个回答

一个promise实例只能resolve或reject一次。所以如果你只是想要封装定时器,然后用一种像promise一样可以链式调用,那么可以这么写:

function sleep(time) {
    return {then: thenable => setInterval(thenable, time)}
}

但是话又说回来这又有点多次一举,直接用setInterval不就好了?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题