解决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弹出层类代码分享
Dec 27 Javascript
引用其它js时如何同时处理多个window.onload事件
Sep 02 Javascript
AngularJS表格详解及示例代码
Aug 17 Javascript
bootstrap datepicker限定可选时间范围实现方法
Sep 28 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
Dec 08 Javascript
Extjs让combobox写起来简洁又漂亮
Jan 05 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
Jan 09 Javascript
js从输入框读取内容,比较两个数字的大小方法
Mar 13 Javascript
JS简单实现动态添加HTML标记的方法示例
Apr 08 Javascript
详解从react转职到vue开发的项目准备
Jan 14 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
Feb 22 Javascript
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
Jan 19 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/10/09 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
2011/11/10 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
2015/06/17 PHP
php实现Mysql简易操作类
2015/10/11 PHP
PHP使用PHPexcel导入导出数据的方法
2015/11/14 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
基于jQuery的图片剪切插件
2011/08/03 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
js实现点击图片自动提交action的简单方法
2016/10/16 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
2017/09/23 jQuery
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
vue 集成jTopo 处理方法
2019/08/07 Javascript
Python入门篇之字符串
2014/10/17 Python
AI人工智能 Python实现人机对话
2017/11/13 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
2018/04/10 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
python使用matplotlib画饼状图
2018/09/25 Python
python 实现二维列表转置
2019/12/02 Python
python实现AdaBoost算法的示例
2020/10/03 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
利用CSS3的3D效果制作正方体
2020/03/10 HTML / CSS
canvas里面如何基于随机点绘制一个多边形的方法
2018/06/13 HTML / CSS
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
影视艺术学院毕业生自荐信
2013/11/13 职场文书
公司出纳岗位职责
2013/12/07 职场文书
化学教学随笔感言
2014/02/19 职场文书
公司市场专员岗位职责
2014/06/29 职场文书
员工离职感谢信
2015/01/22 职场文书
2016读书月活动心得体会
2016/01/14 职场文书
Java 多态分析
2022/04/26 Java/Android