Resolve Javascript Promise outside the Promise constructor scope
es6-promise, javascript, promise
Solution
simple:
var promiseResolve, promiseReject;
var promise = new Promise(function(resolve, reject){
promiseResolve = resolve;
promiseReject = reject;
});
promiseResolve();
Problem
I have been using ES6 Promise. Ordinarily, a Promise is constructed and used like this ``` new Promise(function(resolve, reject){ if (someCondition){ resolve(); } else { reject(); } }); ``` But I have been doing something like below to take the resolve outside for the sake of flexibility. ``` var outsideResolve; var outsideReject; new Promise(function(resolve, reject) { outsideResolve = resolve; outsideReject = reject; }); ``` And later ``` onClick = function(){ outsideResolve(); } ``` This works fine, but is there an easier way to do this? If not, is this a good practice?