解决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函数代码
Apr 17 Javascript
用jquery统计子菜单的条数示例代码
Oct 18 Javascript
jQuery中not()方法用法实例
Jan 06 Javascript
微信支付如何实现内置浏览器的H5页面支付
Sep 25 Javascript
JavaScript设计模式经典之工厂模式
Feb 24 Javascript
jQuery表格(Table)基本操作实例分析
Mar 10 Javascript
Node.js服务器开启Gzip压缩教程
Aug 11 Javascript
Vue结合Video.js播放m3u8视频流的方法示例
May 04 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
May 22 Javascript
JS forEach跳出循环2种实现方法
Jun 24 Javascript
vue中提示$index is not defined错误的解决方式
Sep 02 Javascript
JavaScript的function函数详细介绍
Nov 20 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
dedecms模版制作使用方法
2007/04/03 PHP
PHP OPCode缓存 APC详细介绍
2010/10/12 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
php中将汉字转换成拼音的函数代码
2012/09/08 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
浅谈jQuery构造函数分析
2015/05/11 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
jQuery利用sort对DOM元素进行排序操作
2016/11/07 Javascript
微信小程序url与token设置详解
2017/09/26 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
python处理csv数据的方法
2015/03/11 Python
Python调用C语言开发的共享库方法实例
2015/03/18 Python
Python的GUI框架PySide的安装配置教程
2016/02/16 Python
详解python3中socket套接字的编码问题解决
2017/07/01 Python
Python之lambda匿名函数及map和filter的用法
2019/03/05 Python
python解析xml简单示例
2019/06/21 Python
Python中使用__new__实现单例模式并解析
2019/06/25 Python
对Django外键关系的描述
2019/07/26 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
2019/11/06 Python
使用Python画出小人发射爱心的代码
2019/11/23 Python
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
学生生病请假条范文
2014/02/16 职场文书
2014年党建工作总结
2014/11/11 职场文书
小学教师教学随笔
2015/08/14 职场文书
小学生班干部竞选稿
2015/11/20 职场文书
熟背这些句子,让您的英语口语突飞猛进(135句)
2019/09/06 职场文书
你知道Java Spring的两种事务吗
2022/03/16 Java/Android
Vue2项目中对百度地图的封装使用详解
2022/06/16 Vue.js