我的基于 durandal 的 SPA 在视图模型的激活函数中进行了各种异步 ajax 调用。我正在使用激活函数中的 Q 返回一个承诺。
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;
}
getAgenda 函数中也存在类似的代码。所有这些工作正常,我的屏幕过渡。问题是,我的 getAgenda 需要一段时间(2 到 3 秒)。启动画面不会出现,屏幕会在过渡前的 2 或 3 秒内停留在原来的位置。
我的启动画面很简单,并且在网站第一次加载时会显示。有任何想法吗?