解决angularjs中同步执行http请求的方法

 更新时间:2018年08月13日 09:29:20   作者:方块糖  
今天小编就为大家分享一篇解决angularjs中同步执行http请求的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

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请求的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • angular实现图片懒加载实例代码

    angular实现图片懒加载实例代码

    本篇文章主要介绍了angular实现图片懒加载实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Angularjs使用过滤器完成排序功能

    Angularjs使用过滤器完成排序功能

    这篇文章主要为大家详细介绍了Angularjs使用过滤器完成排序功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Angular性能优化之第三方组件和懒加载技术

    Angular性能优化之第三方组件和懒加载技术

    这篇文章主要介绍了Angular性能优化之第三方组件和懒加载技术,对性能优化感兴趣的同学,可以参考下
    2021-05-05
  • angular 服务随记小结

    angular 服务随记小结

    这篇文章主要介绍了angular 服务随记小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 使用ngView配合AngularJS应用实现动画效果的方法

    使用ngView配合AngularJS应用实现动画效果的方法

    这篇文章主要介绍了使用ngView配合AngularJS应用实现动画效果的方法,AngularJS是十分热门的JavaScript库,需要的朋友可以参考下
    2015-06-06
  • 基于Angular.js实现的触摸滑动动画实例代码

    基于Angular.js实现的触摸滑动动画实例代码

    这篇文章主要介绍了基于Angular.js实现的触摸滑动动画实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • 老生常谈angularjs中的$state.go

    老生常谈angularjs中的$state.go

    下面小编就为大家带来一篇老生常谈angularjs中的$state.go。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • AngularJS 防止页面闪烁的方法

    AngularJS 防止页面闪烁的方法

    我们知道在应用的页面或者组件需要加载数据时,浏览器和angular渲染页面都需要消耗一定的时间。这篇文章主要介绍了AngularJS 防止页面闪烁的方法,需要的朋友可以参考下
    2017-03-03
  • angular.element方法汇总

    angular.element方法汇总

    本文主要给大家汇总了一下angular.element的方法,十分的详细,这里推荐给大家 参考下。
    2015-01-01
  • 解决angularjs中同步执行http请求的方法

    解决angularjs中同步执行http请求的方法

    今天小编就为大家分享一篇解决angularjs中同步执行http请求的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08

最新评论