解决angularjs中同步执行http请求的方法
2018-08-13 09:29
681 查看
如下所示:
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的值将一直为空;
网上的例子都是通过$q,promise来实现,我试了但是不行,应该是我自己的问题
然后突然想到$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就可以实现同步获取数据了~
以上这篇解决angularjs中同步执行http请求的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- 解决angularjs中同步执行http请求
- 因为应用程序正在发送一个输入同步呼叫,所以无法执行传出的呼叫 -- 解决方法
- angularjs使用gulp-uglify压缩后执行报错的解决方法
- 解决C#中一个"异步方法却同步执行"的问题
- 因为应用程序正在发送一个输入同步呼叫,所以无法执行传出的呼叫 -- 解决方法【转】
- 解决安卓系统上,MUI AJAX同步执行无效的方法
- myeclipse中svn图标状态(同步标记)不显示问题的解决方法
- 解决Docker容器时区及时间不同步问题的方法
- jquery trigger函数执行两次的解决方法
- 关于IE抛出"不能执行已释放 script 的代码"的解决方法
- http请求 302解决方法
- TabActivity中返回键(退出键)重写方法dispatchKeyEvent (KeyEvent event)执行两次的解决方法
- Robot Framework安装及执行用例过程中遇到的问题及解决方法
- 当umount命令得不到执行时的解决方法
- CentOS7 /etc/profile 添加环境变量重启后不生效 必须得执行source /etc/profile 解决方法
- "HTTP 错误 403.1 - 禁止访问:执行访问被拒绝"解决方法
- 在执行goldengate的ggsci时找不到库文件的解决方法
- IE不执行js脚本的解决方法
- jQuery 动态绑定的方法多次执行的解决 jQuery(document).on(
- 从头认识多线程-2.14 解决由同步的synchronized (newobject()) 引起的脏读的方法