La mia SPA basata su durandal effettua varie chiamate asincrone ajax nella funzione di attivazione di viewmodels. Sto restituendo una promessa usando Q dalla funzione di attivazione.Schermata iniziale Durandal quando si lavora con promesse
function activate(){
return Q.fcall(['getPersons', 'getAgenda']);
}
function getPersons(){
var defer = Q.defer();
$.ajax({
//omitting most of the settings
success: function(data){
defer.resolve(data);
},
error: function(xhr, status){
defer.reject(status);
}
});
return defer.promise;
}
Codice simile esiste anche nella funzione getAgenda. Tutto questo funziona bene e il mio schermo passa in. Il problema è che il mio getAgenda richiede un po '(da 2 a 3 secondi). La schermata iniziale non viene visualizzata, lo schermo rimane dov'era per 2 o 3 secondi prima della transizione.
La schermata iniziale è semplice e mostra la prima volta che il sito viene caricato. Qualche idea?
Ecco fatto ... Lavori come un fascino! Grazie! –