解决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 相关文章推荐
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
Nov 18 Javascript
jQuery提示效果代码分享
Nov 20 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
May 25 Javascript
防止Node.js中错误导致进程阻塞的办法
Aug 11 Javascript
javascript 中的try catch应用总结
Apr 01 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
Jun 01 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
Jul 13 jQuery
JS+jQuery实现注册信息的验证功能
Sep 26 jQuery
socket io与vue-cli的结合使用的示例代码
Nov 01 Javascript
微信小程序视图控件与bindtap之间的问题的解决
Apr 08 Javascript
JS实现json数组排序操作实例分析
Oct 28 Javascript
详解vue 组件
Jun 11 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生成略缩图代码
2012/07/16 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
php实现微信公众号企业转账功能
2018/10/01 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
JavaScript的类型简单说明
2010/09/03 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
javascript解析json实例详解
2014/11/05 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
Centos6.8下Node.js安装教程
2017/05/12 Javascript
Angular父组件调用子组件的方法
2018/04/02 Javascript
vue.js动画中的js钩子函数的实现
2018/07/06 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
js实现验证码功能
2020/07/24 Javascript
[03:52]显微镜下的DOTA2第三期——英雄在无聊的时候干什么
2014/06/20 DOTA
Python中使用pprint函数进行格式化输出的教程
2015/04/07 Python
python日志记录模块实例及改进
2017/02/12 Python
使用Python对Excel进行读写操作
2017/03/30 Python
python之从文件读取数据到list的实例讲解
2018/04/19 Python
python3+PyQt5实现拖放功能
2018/04/24 Python
对python中两种列表元素去重函数性能的比较方法
2018/06/29 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
python开发之anaconda以及win7下安装gensim的方法
2019/07/05 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
瑞典时尚耳机品牌:Urbanears
2017/07/26 全球购物
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
士力架广告词
2014/03/20 职场文书
校本课程教学计划
2015/01/19 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server
python前后端自定义分页器
2022/04/13 Python