解决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 相关文章推荐
JavaScript 对象模型 执行模型
Dec 06 Javascript
JavaScript Event学习第六章 事件的访问
Feb 07 Javascript
cnblogs TagCloud基于jquery的实现代码
Jun 11 Javascript
JS中动态添加事件(绑定事件)的代码
Jan 09 Javascript
查看源码的工具 学习jQuery源码不错的工具
Dec 26 Javascript
JavaScript与DOM组合动态创建表格实例
Dec 23 Javascript
JS 跳转页面延迟2种方法
Mar 29 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
Nov 03 Javascript
javascript中parseInt()函数的定义和用法分析
Dec 20 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
Mar 15 Javascript
使用canvas实现一个vue弹幕组件功能
Nov 30 Javascript
Layui数据表格 前后端json数据接收的方法
Sep 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
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
2013/10/17 Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
2013/12/12 Javascript
JavaScript中的原型链prototype介绍
2014/12/30 Javascript
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
跟我学习javascript的prototype使用注意事项
2015/11/17 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
es6学习笔记之Async函数的使用示例
2017/05/11 Javascript
vue 微信授权登录解决方案
2018/04/10 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
Vue 自定义指令功能完整实例
2019/09/17 Javascript
JS基础之逻辑结构与循环操作示例
2020/01/19 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
Python3 处理JSON的实例详解
2017/10/29 Python
python将类似json的数据存储到MySQL中的实例
2019/07/12 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
python实现Pyecharts实现动态地图(Map、Geo)
2020/03/25 Python
浅谈django不使用restframework自定义接口与使用的区别
2020/07/15 Python
如何一键升级Python所有包
2020/11/05 Python
使用python将微信image下.dat文件解密为.png的方法
2020/11/30 Python
客户代表实习人员自我鉴定
2013/09/27 职场文书
学前教育专业毕业生自荐信
2013/10/03 职场文书
家长会学生家长演讲稿
2013/12/29 职场文书
高中军训感言600字
2014/03/11 职场文书
公司担保书格式范文
2014/05/12 职场文书
民主评议政风行风整改方案
2014/09/17 职场文书
婚前协议书标准版
2014/10/19 职场文书
群众路线自查报告及整改措施
2014/11/04 职场文书
公司职员入党自传书
2015/06/26 职场文书
高中语文教学反思范文
2016/02/16 职场文书