最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

AngularJS中处理多个promise的方式_AngularJS

来源:动视网 责编:小采 时间:2020-11-27 20:50:31
文档

AngularJS中处理多个promise的方式_AngularJS

AngularJS中处理多个promise的方式_AngularJS:在使用AngularJS中处理promise的时候,有时会碰到需要处理多个promise的情况。 最简单的处理就是每个promise都then。如下: var app = angular.module(app,[]); app.controller(AppCtrl, function($q. $timeo
推荐度:
导读AngularJS中处理多个promise的方式_AngularJS:在使用AngularJS中处理promise的时候,有时会碰到需要处理多个promise的情况。 最简单的处理就是每个promise都then。如下: var app = angular.module(app,[]); app.controller(AppCtrl, function($q. $timeo


在使用AngularJS中处理promise的时候,有时会碰到需要处理多个promise的情况。

最简单的处理就是每个promise都then。如下:

有没有更好的方式?

$q.all方法可以接受promise的一个数组,按如下调用:

什么是promise?

promise是一种用异步的方式处理值的方法,promise是对象,代表了一个函数最终可能的返回值或者抛出的异常,在与远程对象打交道时我们可以把他看作是远程对象的一个代理。 如果说是promise也是异步处理方式的一种,那么我们会想起它和XHR和$.ajax有啥区别呢?

习惯上js使用闭包或者回调来相应非同步返回的数据,比如页面加载之后的XHR请求。我们可以跟数据进行正常交互,就好像它已经返回了一样,而不需要依赖回调函数的触发。

那么ng提出的promise是为了解决什么问题呢? 回调已经被使用了很长时间,通常如果有回调依赖其他还回调时将会时调试变得非常艰难,每一步调用之后都需要显示处理错误。与之不同的是promise提供了另外一个抽象:这些函数返回promise对象。

为什么使用promise

使用了promise的收获之一是逃脱了回调的固定思维逻辑。promise让异步处理的机制看上去更像是同步,基于同步函数我们可以按照预期来捕获返回值和异常值。可以在程序中的任何时刻捕捉错误,并且绕过依赖于程序异常的后续代码,我们不需要思考这个同步带来的好处。因此使用promise的目的是:获取功能组合和错误冒泡能力的同时,保持代码异步运行的能力。

promise是头等对象,自带了一些约定。

• 只有一个resolve或者reject会被调用到。

• 如果promise被执行或者被拒绝了,依赖于他们的处理程序仍然会被调用。

• 处理程序总是会被异步调用。

文档

AngularJS中处理多个promise的方式_AngularJS

AngularJS中处理多个promise的方式_AngularJS:在使用AngularJS中处理promise的时候,有时会碰到需要处理多个promise的情况。 最简单的处理就是每个promise都then。如下: var app = angular.module(app,[]); app.controller(AppCtrl, function($q. $timeo
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top