Ho usato ES6 Promise.
Di solito, una Promessa viene costruita e utilizzata in questo modo
new Promise(function(resolve, reject){
if (someCondition){
resolve();
} else {
reject();
}
});
Ma ho fatto qualcosa di simile al di sotto per portare la risoluzione fuori per motivi di flessibilità.
var outsideResolve;
var outsideReject;
new Promise(function(resolve, reject) {
outsideResolve = resolve;
outsideReject = reject;
});
E più tardi
onClick = function(){
outsideResolve();
}
Funziona bene, ma c'è un modo più semplice per farlo? In caso contrario, è una buona pratica?
Promise
deve essere eseguito in modo sincrono per consentire "l'esportazione" delle due funzioni.