Normalerweise wird ein Promise
konstruiert und wie folgt verwendet:
new Promise((resolve, reject) => {
const obj = new MyEventEmitter();
obj.onsuccess = (event) => { resolve(event.result); };
obj.onerror = (event) => { reject(event.error); };
});
Aber in letzter Zeit habe ich etwas Ähnliches wie das folgende gemacht, um den Resolver außerhalb des Executor-Callbacks flexibler zu handhaben:
let outsideResolve;
let outsideReject;
new Promise((resolve, reject) => {
outsideResolve = resolve;
outsideReject = reject;
});
Und später:
onClick = function() {
outsideResolve();
}
Dies funktioniert gut, aber gibt es einen einfacheren Weg, dies zu tun? Wenn nicht, ist dies eine gute Praxis?