Page 194 - AngularJS权威教程
P. 194

174  第 17 章  promise


             17.4.1  all(promises)

                 如果我们有多个promise,想要把它们合并成一个,可以使用$q.all(promises)方法来把它
             们合并成一个promise。这个方法带有一个参数。

                  promises(数组或者promise对象)
                 一个promise数组或者promise的hash。

                 all()方法返回单个promise,会执行一个数组或者一个散列的值。每个值会响应promise散列
             中的相同序号或者键。如果任意一个promise被拒绝了,结果的promise也会被拒绝。

             17.4.2  defer()


                 defer()方法创建了一个deferred对象,它没有参数,返回deferred对象的一个实例。

             17.4.3  reject(reason)

                 这个方法创建了一个promise,被以某一原因拒绝执行了。它专门用于让我们能在一个promise
             链中转发拒绝的promise,类似JavaScript中的throw。在同样意义上,我们能在JavaScript中捕获一
             个异常,也能够转发这个拒绝,我们需要把这个错误重新抛出。可以通过$q.reject(reason)来
             做到这点。
                 这个方法带有单个参数:

                  reason(常量、字符串、异常、对象)
                 拒绝的原因。

                 reject()方法返回一个已经用某个原因拒绝的promise。


             17.4.4  when(value)

                 when()函数把一个可能是值或者能接着then的promise包装成一个$q promise。这样我们就能
             处理一个可能是也可能不是promise的对象。

                 when()函数有一个参数:

                  value
                 该参数是个值,或者是promise

                 when()函数返回了一个promise,我们可以像使用其他promise一样使用它。
   189   190   191   192   193   194   195   196   197   198   199