在Promise构造函数作用域之外解析Java脚本Promise

2022-08-09 00:00:00 javascript promise es6-promise

我一直在使用ES6 Promise。

通常,承诺是这样构建和使用的

new Promise(function(resolve, reject){
    if (someCondition){
        resolve();
    } else {
        reject();
    } 
});

但为了灵活起见,我一直在做下面这样的事情,将决心放在外面。

var outsideResolve;
var outsideReject;
new Promise(function(resolve, reject) { 
    outsideResolve = resolve; 
    outsideReject = reject; 
});

及更高版本

onClick = function(){
    outsideResolve();
}

这很好用,但是有没有更简单的方法呢?如果不是,这是否是一种良好的做法?


解决方案

简单:

var promiseResolve, promiseReject;

var promise = new Promise(function(resolve, reject){
  promiseResolve = resolve;
  promiseReject = reject;
});

promiseResolve();

相关文章