解决angularjs中同步执行http请求的方法


Posted in Javascript onAugust 13, 2018

如下所示:

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请求的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
理解Javascript闭包
Nov 01 Javascript
jquery live()重复绑定的解决方法介绍
Jan 03 Javascript
jquery选择器之内容过滤选择器详解
Jan 27 Javascript
JavaScript strike方法入门实例(给字符串加上删除线)
Oct 17 Javascript
Javascript节点关系实例分析
May 15 Javascript
jquery获取select选中值的方法分析
Dec 22 Javascript
纯JS实现可拖拽表单的简单实例
Sep 02 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
Nov 12 Javascript
微信小程序wx:for和wx:for-item的用法详解
Apr 01 Javascript
vue中子组件调用兄弟组件方法
Jul 06 Javascript
JS实现页面数据懒加载
Feb 13 Javascript
jQuery实现html可联动的百分比进度条
Mar 26 jQuery
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
Aug 13 #Javascript
AngularJS使用$http配置对象方式与服务端交互方法
Aug 13 #Javascript
angularjs $http调用接口的方式详解
Aug 13 #Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
Aug 13 #Javascript
vue实现文件上传功能
Aug 13 #Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
Aug 13 #Javascript
实例详解BootStrap的动态模态框及静态模态框
Aug 13 #Javascript
You might like
学习php分页代码实例
2013/10/24 PHP
yii框架配置默认controller和action示例
2014/04/30 PHP
PHP 验证登陆类分享
2015/03/13 PHP
PHP读取汉字的点阵数据
2015/06/22 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
2016/02/03 PHP
PHP二维数组去重算法
2016/12/17 PHP
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
javascript中有趣的反柯里化深入分析
2012/12/05 Javascript
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
JQuery实现展开关闭层的方法
2015/02/17 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
js实现从左向右滑动式轮播图效果
2017/07/07 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
vue实现文章内容过长点击阅读全文功能的实例
2017/12/28 Javascript
浅谈vue 单文件探索
2018/09/05 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
JavaScript中Dom操作实例详解
2019/07/08 Javascript
python读取csv文件示例(python操作csv)
2014/03/11 Python
Python模拟登录的多种方法(四种)
2018/06/01 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
python如何写出表白程序
2020/06/01 Python
英国家电直销:Appliances Direct
2016/09/22 全球购物
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
英国最大的笔记本电脑直销专家:Laptops Direct
2019/07/20 全球购物
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
师范生自我鉴定范文
2013/10/05 职场文书
幼师求职自荐信范文
2014/01/26 职场文书
银行贷款承诺书
2014/03/29 职场文书
采购部长岗位职责
2014/06/13 职场文书
2014优秀党员事迹材料
2014/08/14 职场文书
幼儿园大班个人总结
2015/02/28 职场文书
廉政承诺书范文
2015/04/28 职场文书
迁徙的鸟观后感
2015/06/09 职场文书