Question
最近在使用promise过程中突然想到如果在promise的resolve,reject中调用setInterval,会不会持续的触发resolve操作?
Answer
尝试编写下面的代码:
function a() {
return new Promise((resolve, reject) => {
setInterval(()=>{
resolve('resolved')
}, 2000)
})
}
a().then(res => {
console.log(res)
});
结果resolved 只会调用一次,也就是说promise的状态当从pending到commit后,触发了对应的resolve或是reject后,就不会再次触发。