解决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 相关文章推荐
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
Nov 28 Javascript
JavaScript 学习历程和心得分享
Dec 12 Javascript
JQueryEasyUI Layout布局框架的使用
Apr 08 Javascript
jquery 3D 标签云示例代码
Jun 12 Javascript
jQuery实现页面滚动时动态加载内容的方法
Mar 20 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
Sep 21 Javascript
Vue.directive自定义指令的使用详解
Mar 10 Javascript
JS闭包可被利用的常见场景小结
Apr 09 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
Jul 11 Javascript
详解angular脏检查原理及伪代码实现
Jun 08 Javascript
react中实现搜索结果中关键词高亮显示
Jul 31 Javascript
LayUI表格批量删除方法
Aug 15 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循环检测目录是否存在并创建(循环创建目录)
2011/01/06 PHP
ThinkPHP模板输出display用法分析
2014/11/26 PHP
php使用cookie实现记住用户名和密码实现代码
2015/04/27 PHP
PHP登录验证码的实现与使用方法
2016/07/07 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
2019/10/08 PHP
Javascript创建自定义对象 创建Object实例添加属性和方法
2012/06/04 Javascript
11个用于提高排版水平的基于jquery的文字效果插件
2012/09/14 Javascript
JS获取后台Cookies值的小例子
2013/03/04 Javascript
js控制表单操作的常用代码小结
2013/08/15 Javascript
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
document.write的几点使用心得
2014/05/14 Javascript
详解jquery中$.ajax方法提交表单
2014/11/03 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
ECMAScript6中Map/WeakMap详解
2015/06/12 Javascript
JavaScript简单下拉菜单实例代码
2015/09/07 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
AngularJS使用angular-formly进行表单验证
2015/12/27 Javascript
js获取html的span标签的值方法(超简单)
2016/07/26 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
python实现提取百度搜索结果的方法
2015/05/19 Python
使用EduBlock轻松学习Python编程
2018/10/08 Python
python爬取指定微信公众号文章
2018/12/20 Python
使用matplotlib绘制图例标签中带有公式的图
2019/12/13 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
简单html5代码获取地理位置
2014/03/31 HTML / CSS
联想台湾官网:Lenovo TW
2018/05/09 全球购物
Java里面如何创建一个内部类的实例
2015/01/19 面试题
计算机专业学生的自我评价
2013/12/15 职场文书
婚纱摄影师求职信
2014/03/07 职场文书
幼儿老师求职信
2014/06/30 职场文书
法制教育观后感
2015/06/17 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书