解決angularjs中同步執(zhí)行http請求的方法
如下所示:
self.tableParams = new NgTableParams({}, {
getData: function (params) {
$http.post("rest/staff/page", $scope.req).success(function (data) {
if (data != null && data != undefined) {
$scope.staffs = data.data;
params.total($scope.totalPage);
}
}).error(function (data) {
$("#serverErrorModal").modal({show: true});
});
return $scope.staffs;
}
});
上面這個示例中,getData方法要得到通過$http請求返回的值,然而在angularjs中$http永遠都是異步的,也就是說return的值將一直為空;
網(wǎng)上的例子都是通過$q,promise來實現(xiàn),我試了但是不行,應該是我自己的問題
然后突然想到$http本身就返回一個promise對象,何不直接使用?!代碼如下
self.tableParams = new NgTableParams({'count': 10} , {
getData: function (params) {
var promise = $http.post("rest/staff/page", $scope.req);
return promise.then(function (resut) {
var response = resut.data;
var total = response.otherData[0];
params.total(total);
return response.data;
});
}
});
直接這樣return就可以實現(xiàn)同步獲取數(shù)據(jù)了~
以上這篇解決angularjs中同步執(zhí)行http請求的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
angularjs封裝bootstrap時間插件datetimepicker
這篇文章主要介紹了angularjs封裝bootstrap時間插件datetimepicker 的相關(guān)資料,需要的朋友可以參考下2016-06-06
angular和BootStrap3實現(xiàn)購物車功能
這篇文章主要為大家詳細介紹了angular和BootStrap3實現(xiàn)購物車功能的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01
Angularjs根據(jù)json文件動態(tài)生成路由狀態(tài)的實現(xiàn)方法
最近做項目遇到這樣一個新需求,就是需要根據(jù)json文件動態(tài)生成路由狀態(tài),通過查閱相關(guān)資料實現(xiàn)了此功能,下面小編把問題總結(jié)分享到腳本之家平臺供大家參考2017-04-04
使用typescript開發(fā)angular模塊并發(fā)布npm包
本篇文章主要介紹了使用typescript開發(fā)angular模塊并發(fā)布npm包,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04
AngularJS基礎 ng-mouseenter 指令示例代碼
本文主要介紹AngularJS ng-mouseenter 指令,這里對ng-mouseenter 指令基礎資料做了詳細整理,并附代碼實例,有需要的小伙伴可以參考下2016-08-08

