在我的控制器中,我有以下代码:
PartnersService.GetNonPartnerBanks().success(function (data) {
vm.nonPartnerBanksList = data;
}).error( function () {
vm.nonPartnerBanksList = [];
});
调用这个服务的是:
service.GetNonPartnerBanks = function() {
var nonPartnerBankUrl = config.baseUrl + 'public/nonPartnerBanks';
return $http.get(nonPartnerBankUrl);
};
这一切都可以正常工作,但如果服务器响应时间较长,应用程序的UI会冻结。
我做错了什么?难道$http
服务不使用AJAX和Promise,以便在进行调用时UI的渲染应该继续进行吗?
使用数据的模板部分:
<ol class="nya-bs-select nya-dashboard"
required
name="futurePartner"
id="futurePartner"
ng-model="npc.futurePartner"
data-size="5"
ng-change="npc.hideSucessMessage()"
title-tpl="<span>{{npc.partnerSelectTitle}}</span>"
deep-watch="true"
no-search-title-tpl="<span>{{'general.NoSearchResult' | translate}}</span>"
data-live-search="true">
<li nya-bs-option="bankItem in npc.futurePartnerList" data-value="bankItem.id">
<a>
{{bankItem.name}}
</a>
</li>
</ol>
跟进:
Vita的回答让我找对了思路,问题不是$http阻塞了我的UI,而是在Ajax调用时有一个动画效果,给人留下了UI卡顿的印象。