解決angularjs中同步執(zhí)行http請(qǐng)求的方法
如下所示:
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;
}
});
上面這個(gè)示例中,getData方法要得到通過(guò)$http請(qǐng)求返回的值,然而在angularjs中$http永遠(yuǎn)都是異步的,也就是說(shuō)return的值將一直為空;
網(wǎng)上的例子都是通過(guò)$q,promise來(lái)實(shí)現(xiàn),我試了但是不行,應(yīng)該是我自己的問(wèn)題
然后突然想到$http本身就返回一個(gè)promise對(duì)象,何不直接使用?!代碼如下
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就可以實(shí)現(xiàn)同步獲取數(shù)據(jù)了~
以上這篇解決angularjs中同步執(zhí)行http請(qǐng)求的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
AngularJS基礎(chǔ) ng-focus 指令簡(jiǎn)單示例
本文主要介紹AngularJS ng-focus 指令,這里整理了ng-focus的一些基礎(chǔ)資料,并附一個(gè)實(shí)例代碼,有需要的小伙伴參考下2016-08-08
Angular實(shí)現(xiàn)表格自滾動(dòng)效果
這篇文章主要為大家介紹了如何通過(guò)Angular實(shí)現(xiàn)表格自動(dòng)滾動(dòng)的效果,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Angular有一定幫助,需要的可以參考一下2022-01-01
angularjs封裝bootstrap時(shí)間插件datetimepicker
這篇文章主要介紹了angularjs封裝bootstrap時(shí)間插件datetimepicker 的相關(guān)資料,需要的朋友可以參考下2016-06-06
angular和BootStrap3實(shí)現(xiàn)購(gòu)物車(chē)功能
這篇文章主要為大家詳細(xì)介紹了angular和BootStrap3實(shí)現(xiàn)購(gòu)物車(chē)功能的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
Angularjs根據(jù)json文件動(dòng)態(tài)生成路由狀態(tài)的實(shí)現(xiàn)方法
最近做項(xiàng)目遇到這樣一個(gè)新需求,就是需要根據(jù)json文件動(dòng)態(tài)生成路由狀態(tài),通過(guò)查閱相關(guān)資料實(shí)現(xiàn)了此功能,下面小編把問(wèn)題總結(jié)分享到腳本之家平臺(tái)供大家參考2017-04-04
Angular4學(xué)習(xí)筆記router的簡(jiǎn)單使用
本篇文章主要介紹了Angular4學(xué)習(xí)筆記router的簡(jiǎn)單使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
使用typescript開(kāi)發(fā)angular模塊并發(fā)布npm包
本篇文章主要介紹了使用typescript開(kāi)發(fā)angular模塊并發(fā)布npm包,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
AngularJS基礎(chǔ) ng-mouseenter 指令示例代碼
本文主要介紹AngularJS ng-mouseenter 指令,這里對(duì)ng-mouseenter 指令基礎(chǔ)資料做了詳細(xì)整理,并附代碼實(shí)例,有需要的小伙伴可以參考下2016-08-08

