关于javascript:通过resolve和reject控制promise

之前咱们讲过应用Promise.race实现超时机制勾销XHR申请
当初咱们来讲个简略,好玩且实用的,通过将resolve和reject函数赋值为变量,而后通过变量来管制Promise行为。
间接上代码

var rejectPromise,resolvePromise;
new Promise((resolve,reject)=>{
  rejectPromise = reject;
  resolvePromise = resolve;
}).then(res=>{console.log('success')}).catch(res=>{console.log('fail')})

咱们通过rejectPromise ,resolvePromise 就能够在任意中央管制这个Promise了。
当然只有咱们执行了rejectPromise ,resolvePromise 中的任意一个,该Promise对象的状态就曾经变了,再调用rejectPromise或resolvePromise都不会扭转Promise的状态,也就不会执行任何回调了

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理