我正在创建一个发送一堆承诺的函数,我想让用户知道当它们全部解决后发生了什么。但是,我不确定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
)
对此的任何澄清将不胜感激。谢谢!
答案 0 :(得分:2)
在与SO Soup Nazi发生不幸的火焰战之后,通过这种无证方法的来源阅读,我终于弄明白了发生了什么。
RSVP.all()
会返回一个承诺,因此将then
链接到其上需要2个函数作为参数(称为resolve()
和reject()
)。这种方法令人困惑的部分是resolve()
传递了一系列已解决的承诺,其中reject()
传递了被拒绝的第一个承诺。