在Chrome中都能运行,程序详情如下图:
只要执行reject, 就会回退当前的任务队列到Project同级的状态?
只要执行reject, 就会回退当前的任务队列到Project同级的状态?
没啥区别,和前面两个大佬回答的一样。就是中断当前函数执行。如果没有 return,后面会继续进行,如果后面还有 rej/res 执行时没有效果的。
new Promise((res,rej)=>{
res();
console.log(1);
rej();
console.log(2)
})
直接输出: 1,2。并且此时是 resolve 状态。
Promise {<resolved>: undefined}
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
return reject
没有特殊意义。 Promise是通过resolve
和reject
使得Promise变成完成或失败状态的,你的return reject('2')
是执行了reject('2')
而跳出的。如果提前return会导致Promise为
pending
状态。