解决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 ajax 登录验证实现代码
Sep 23 Javascript
仅用[]()+!等符号就足以实现几乎任意Javascript代码
Mar 01 Javascript
js中的eventType事件及其浏览器支持性介绍
Nov 29 Javascript
2014年50个程序员最适用的免费JQuery插件
Dec 15 Javascript
AngularJs实现ng1.3+表单验证
Dec 10 Javascript
Jquery中巧用Ajax的beforeSend方法
Jan 20 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
Jul 12 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
Mar 04 Javascript
详解vuex 中的 state 在组件中如何监听
May 23 Javascript
vue 集成jTopo 处理方法
Aug 07 Javascript
解决layui的table插件无法多层级获取json数据的问题
Sep 19 Javascript
小程序实现简单语音聊天的示例代码
Jul 24 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
第七节--类的静态成员
2006/11/16 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
Ajax+PHP快速上手及简单应用说明
2013/07/24 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
jquery 学习笔记 传智博客佟老师附详细注释
2020/09/12 Javascript
div移动 输入框不能输入的问题
2009/11/19 Javascript
基于JQuery的日期联动实现代码
2011/02/24 Javascript
Java/JS获取flash高宽的具体方法
2013/12/27 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
Vue项目webpack打包部署到服务器的实例详解
2017/07/17 Javascript
EasyUI框架 使用Ajax提交注册信息的实现代码
2017/09/27 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
2018/08/22 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
Vue中el-form标签中的自定义el-select下拉框标签功能
2020/04/20 Javascript
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
python3爬虫之设计签名小程序
2018/06/19 Python
keras打印loss对权重的导数方式
2020/06/10 Python
美国最大的万圣节服装网站:HalloweenCostumes.com
2017/10/12 全球购物
英国时尚运动品牌的合集:The Sports Edit
2017/12/20 全球购物
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
高中自我评价范文
2014/01/27 职场文书
怎样填写就业意向
2014/04/02 职场文书
旅游活动总结
2014/08/27 职场文书
村干部群众路线整改措施思想汇报
2014/10/12 职场文书
同意离婚答辩状
2015/05/22 职场文书
2015中学教学工作总结
2015/07/22 职场文书
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis
bat批处理之字符串操作的实现
2022/03/16 Python
MySQL视图概念以及相关应用
2022/04/19 MySQL