怎么在angularjs中同步執(zhí)行http請(qǐng)求?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),新密網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:新密等地區(qū)。新密做網(wǎng)站價(jià)格咨詢:18982081108
如下所示:
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; }); } });
關(guān)于怎么在angularjs中同步執(zhí)行http請(qǐng)求問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。