关于promise与setInterval
 发布于 8 年前  作者 ydcwl  6401 次预览  最后一次回复是 8 年前  来自 问答 

q.png

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

8 回复
zhanzhenzhen

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

ydcwl

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

zhanzhenzhen

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

ydcwl

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

zhanzhenzhen

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

zhanzhenzhen

setInterval不能变成Promise形式。

ydcwl

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