1

我正在创建一个发送一堆承诺的函数,我想让用户知道当他们全部解决后发生了什么。但是,我不确定Ember.RSVP.all.then()应该采用什么参数。现在我有这样的事情:

Ember.RSVP.all(promises).then(
  (success) ->
    do stuff...
  (error) ->
    handle errors
)

但是,我也看到过这样的模式:

Ember.RSVP.all(promises).then(
  (values) ->
    do stuff...
).catch(
  (values) ->
    handle errors
)

对此的任何澄清将不胜感激。谢谢!

4

1 回答 1

2

在与 SO Soup Nazi发生不幸的火焰战争并阅读了这种无证方法的来源之后,我终于弄清楚了发生了什么。

RSVP.all()返回一个承诺,因此链接then到它需要 2 个函数作为参数(称为resolve()reject())。该方法令人困惑的部分resolve()是传递了一个已解决的承诺数组,其中reject()传递了第一个被拒绝的承诺。

于 2015-02-20T22:25:59.010 回答