解决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的函数
Jan 31 Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
Apr 11 Javascript
JavaScript对象创建及继承原理实例解剖
Feb 28 Javascript
js动态添加onclick事件可传参数与不传参数
Jul 29 Javascript
浅谈Javascript变量作用域问题
Dec 16 Javascript
vue,angular,avalon这三种MVVM框架优缺点
Apr 27 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
Jul 09 Javascript
JS 全屏和退出全屏详解及实例代码
Nov 07 Javascript
webpack中的热刷新与热加载的区别
Apr 09 Javascript
详解如何在你的Vue项目配置vux
Jun 04 Javascript
JS实现HTML页面中动态显示当前时间完整示例
Jul 30 Javascript
js事件on动态绑定数据,绑定多个事件的方法
Sep 15 Javascript
解决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 a simple smtp class
2007/11/26 PHP
深入for,while,foreach遍历时间比较的详解
2013/06/08 PHP
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
简单三步,搞掂内存泄漏
2007/03/10 Javascript
Javascript this 的一些学习总结
2012/08/02 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
浅谈JavaScript function函数种类
2014/12/29 Javascript
简介JavaScript中valueOf()方法的使用
2015/06/05 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
2016/06/13 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
BootStrap modal实现拖拽功能
2018/12/01 Javascript
vue生命周期与钩子函数简单示例
2019/03/13 Javascript
原生js实现瀑布流效果
2020/03/09 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
python结合API实现即时天气信息
2016/01/19 Python
python在不同层级目录import模块的方法
2016/01/31 Python
Python入门之三角函数sin()函数实例详解
2017/11/08 Python
Python基于回溯法解决01背包问题实例
2017/12/06 Python
python爬虫爬取微博评论案例详解
2019/03/27 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
Django中多种重定向方法使用详解
2019/07/17 Python
python爬虫 urllib模块反爬虫机制UA详解
2019/08/20 Python
使用IPython或Spyder将省略号表示的内容完整输出
2020/04/20 Python
Python通过字典映射函数实现switch
2020/11/06 Python
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
Ibatis如何调用存储过程
2015/05/15 面试题
平面设计师的工作职责
2013/11/21 职场文书
酒后驾驶检讨书
2014/01/27 职场文书
幸福中国演讲稿
2014/09/12 职场文书
作弊检讨书
2015/01/27 职场文书
浅析Python中的套接字编程
2021/06/22 Python
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers