通过resolve和reject控制promise
Posted star
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过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的状态,也就不会执行任何回调了
以上是关于通过resolve和reject控制promise的主要内容,如果未能解决你的问题,请参考以下文章
对Promise中的resolve,reject,catch理解
Promise 的 resolve 和 reject 函数的返回类型是啥?
javascript Promise.resolve和Promise.reject示例
JS中的promise返回的resolve()和reject()的理解附代码展示
Promise对象的resolve回调函数和reject回调函数使用
[js高手之路] es6系列教程 - promise常见用法详解(resolve,reject,catch,then,all,race)