当Ember.js模型挂钩失败时,路由转换失败。如何避免这种情况。如果ajax调用失败,我想传递一些默认值,如消息的空数组。
model() {
return Ember.RSVP.hash({
messages: $.getJSON("localhost:3000/messages")
});
}
答案 0 :(得分:4)
当模型挂钩失败时,路由转换会失败。理想情况下,这应该在错误操作中处理,该操作会在模型拒绝时触发。
actions: {
error(error) {
//show error message
}
}
但是,如果需要在failCases上发送虚拟空成功响应,则可以使用以下代码段:
model() {
Ember.RSVP.hash({
messages: $.getJSON("localhost:3000/messages")
}).then(function(hash){
//success handler, do nothing
}, function(error) {
return RSVP.resolve({messages: Ember.A()});
});
}