关于promise与setInterval
发布于 6 年前 作者 ydcwl 5369 次浏览 来自 问答

q.png

这段代码只执行一边,为什么呢?

8 回复

resolve()以后再resolve()是没有任何作用的。 Promise的机制在于:一旦成功(resolve)或是失败(reject),这个Promise就视作执行完了。以后不管resolve还是reject都没用。

@zhanzhenzhen 那定时器每隔500ms调用resolve()不会报错吗?

既不会有作用,也不会报错。resolve()以后不单单是resolve()不会报错,就算是reject()也不会报错。

@zhanzhenzhen 那能不能改写setInterval,变成promise形式呢?

不明白为啥要用promise,你直接setInterval(fn, 500)不就行了么

setInterval不能变成Promise形式。

首先,谢谢你的回答,因为最近在加深promise的学习,所以一些异步的操作,都想拿来改改

回到顶部