angular调用接口方式_Angular.js(angular 1) 中$q服务的使用和同步异步调用接口

众所周知,angular.js(angular 1.x)是由Google公司开发并维护的热门前端框架, 由于公司内部的一些项目用angluar比较早,所以做项目的时候直接以angular起手的,在项目中遇到过一些前端接口调用的问题,对于一些页面需要调用多个接口的情况, 开始是用anguarl的$watch来处理, 但是angular对数据做的是脏检查, watch越多就越慢,性能就越会下降.

angular中有很多的系统服务, 例如: $http、$timeout、$rootScope、$locale等

由于项目中暂时不支持es6的Promise和async用法, 所以angular的$q服务 可以完美解决接口调用中的问题.

场景一:

在当前页面中, 我需要同时调用3个或多个接口, 我需要在调用的所有接口都返回成功的时候,把页面的loading关掉展示 页面数据,如果用$watch写的话,代码可能是这样:

不推荐写法

// 初始化

$scope.loading = true; //控制页面loadinng

$scope.api1_result = false;

$scope.api2_result = false;

$scope.api3_result = false;

......

function api1(){

// 等待ajax请求返回请求结果

$scope.api1_result = true;

}

function api2(){

// ajax请求返回请求结果

$scope.api2_result = true;

}

function api3(){

// ajax请求返回请求结果

$scope.ap

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值