解决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 相关文章推荐
Js实现当前点击a标签变色突出显示其他a标签回复原色
Nov 27 Javascript
基于jQuery实现音乐播放试听列表
Apr 14 Javascript
JS 清除字符串数组中,重复元素的实现方法
May 24 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
Jun 12 Javascript
jQuery简单实现title提示效果示例
Aug 01 Javascript
jQuery生成假加载动画效果
Dec 01 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
Feb 19 Javascript
如何使用angularJs
May 08 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
Sep 15 Javascript
jQuery实现可兼容IE6的遮罩功能详解
Sep 19 jQuery
对于防止按钮重复点击的尝试详解
Apr 22 Javascript
详解Vue的异步更新实现原理
Dec 22 Vue.js
解决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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
2018/06/04 PHP
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
深入剖析JavaScript中的枚举功能
2014/03/06 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
2017/11/17 Javascript
React中的refs的使用教程
2018/02/13 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
解决layUI的页面显示不全的问题
2019/09/20 Javascript
vue路由传参页面刷新参数丢失问题解决方案
2019/10/08 Javascript
[01:07:20]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第二场 2月2日
2021/03/11 DOTA
Python中使用ConfigParser解析ini配置文件实例
2014/08/30 Python
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
python实现飞机大战微信小游戏
2020/03/21 Python
python得到电脑的开机时间方法
2018/10/15 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
2020/11/05 Python
python 递归相关知识总结
2021/03/03 Python
Europcar葡萄牙:葡萄牙汽车和货车租赁
2017/10/13 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
国培教师自我鉴定
2014/02/12 职场文书
读群众路线心得体会
2014/03/07 职场文书
公安机关起诉意见书
2015/05/20 职场文书
九年级数学教学反思
2016/02/17 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android