通常、 a はPromise
次のように構築され、使用されます。
new Promise((resolve, reject) => {
const obj = new MyEventEmitter();
obj.onsuccess = (event) => { resolve(event.result); };
obj.onerror = (event) => { reject(event.error); };
});
しかし最近、柔軟性のために、リゾルバをエグゼキュータ コールバックの外部に出すために次のようなことを行っています。
let outsideResolve;
let outsideReject;
new Promise((resolve, reject) => {
outsideResolve = resolve;
outsideReject = reject;
});
以降:
onClick = function() {
outsideResolve();
}
これは問題なく動作しますが、これを行うより簡単な方法はありますか? そうでない場合、これは良い方法でしょうか?
ベストアンサー1
単純:
var promiseResolve, promiseReject;
var promise = new Promise(function(resolve, reject){
promiseResolve = resolve;
promiseReject = reject;
});
promiseResolve();