【发布时间】:2014-03-01 23:44:34
【问题描述】:
以下代码从每个 getJSON 方法返回一个 RSVP 承诺:
getJSON('/login')
.then(getJSON('/errors').then(function(users) {
self.user = users;
}))
.then(getJSON('contacts').then(function(contacts) {
self.contacts = contacts;
}))
.then(getJSON('companies').then(function(companies) {
self.companies = companies;
callback(self);
}, function(err){
console.log('does not get here')
}));
我对 Promise 的理解显然是错误的,我不想为每个 then 提供错误回调,而是认为错误会被转发到后续 then 函数之一中的下一个可用错误回调。
在上面的代码中,第 2 行的 getJSON 会被拒绝,但不会转发到最后的错误回调中。
我是否必须为每个然后提供一个错误回调。这似乎与回调地狱没有什么不同。
【问题讨论】:
标签: javascript rsvp.js