当 Ember.js 模型 Hook 失败时,路由转换失败。如何避免这种情况。我想传递一些默认值,例如消息的空数组,以防 ajax 调用失败。
model() {
return Ember.RSVP.hash({
messages: $.getJSON("localhost:3000/messages")
});
}
最佳答案
当模型 Hook 失败时,路由转换就会失败。理想情况下,这应该在模型拒绝时触发的错误操作中进行处理。
actions: {
error(error) {
//show error message
}
}
但是,如果确实需要在失败案例上发送虚拟的空成功响应,则可以使用以下代码片段:
model() {
Ember.RSVP.hash({
messages: $.getJSON("localhost:3000/messages")
}).then(function(hash){
//success handler, do nothing
}, function(error) {
return RSVP.resolve({messages: Ember.A()});
});
}
关于javascript - API 失败时 Ember.js 模型的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50709337/