解决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实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
Mar 21 Javascript
js实现匹配时换色的输入提示特效代码
Aug 17 Javascript
JavaScript数组去重的五种方法
Nov 05 Javascript
JS与jQuery遍历Table所有单元格内容的方法
Dec 07 Javascript
jquery实现定时自动轮播特效
Dec 10 Javascript
javascript中利用柯里化函数实现bind方法
Apr 29 Javascript
js遍历map javaScript遍历map的简单实现
Aug 26 Javascript
详解JS-- 浮点数运算处理
Nov 28 Javascript
vue调用高德地图实例代码
Apr 28 Javascript
分析JS单线程异步io回调的特性
Dec 01 Javascript
vue实现的组件兄弟间通信功能示例
Dec 04 Javascript
原生JavaScript实现随机点名表
Jan 14 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/02/23 PHP
yii使用activeFileField控件实现上传文件与图片的方法
2015/12/28 PHP
PHP表单数据写入MySQL数据库的代码
2016/05/31 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
JS支持带x身份证号码验证函数
2008/08/10 Javascript
JavaScript setTimeout和setInterval的使用方法 说明
2010/03/25 Javascript
用jquery实现点击栏目背景色改变
2012/12/10 Javascript
javascript控制台详解
2015/06/25 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
2016/04/12 Javascript
vue中axios解决跨域问题和拦截器的使用方法
2018/03/07 Javascript
微信小程序实现倒计时调用相机自动拍照功能
2018/06/10 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
js实现的格式化数字和金额功能简单示例
2019/07/30 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
JavaScript实现省市联动效果
2019/11/22 Javascript
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
python中迭代器(iterator)用法实例分析
2015/04/29 Python
举例简单讲解Python中的数据存储模块shelve的用法
2016/03/03 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
基于python3监控服务器状态进行邮件报警
2019/10/19 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
浅谈tensorflow 中tf.concat()的使用
2020/02/07 Python
python绘制封闭多边形教程
2020/02/18 Python
Python中常用的高阶函数实例详解
2020/02/21 Python
纯CSS3实现绘制各种图形实现代码详细整理
2012/12/26 HTML / CSS
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
同意报考证明
2015/06/17 职场文书
创业计划书之家教托管
2019/09/25 职场文书
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS