Sto usando l'API javascript di un'applicazione offline e vorrei sapere se posso utilizzare gli oggetti posticipati per gestire i callback. Le chiamate API non utilizzano HTTP, le chiamate da e verso il database locale delle applicazioni.
L'unico modo in cui sono stato in grado di visualizzare le informazioni è usando "setTimeout" nelle chiamate successive, che so, è terribile! Quindi ho una lunga lista di callback e timeout.
var jsObj = {};
var anotherObj = {};
//first async call
methodName("arg1", jsObj, callback);
function callback(result){
jsObj["data"] = result;
}
//second async call
setTimeout(function(){methodName("arg1", anotherObj, callback2);}, 200);
function callback2(result){
jsObj["data"] = result;
}
//wait
setTimeout(function(){
$("#content").html(JSON.stringify(jsObj));
},300);
C'è comunque un refactoring? Qualsiasi consiglio è apprezzato. Ho esaminato il seguente post , ma non lo sono sicuro che avrebbe funzionato. Sono consapevole di poter creare oggetti differiti personalizzati (jQuery), ma modificare l'API per utilizzare questo o qualsiasi altro metodo di promessa di oggetti sembra non realistico.