我有一个典型的场景。 我的模型钩Route-1
看起来像这样。当烬模型挂钩的请求失败时会发生什么
model() {
return Ember.RSVP.hash({
posts: this.store.findAll('post'),
authors: this.store.findAll('author')
});
}
如果我在Route-2
并导航到Route-1
它会调用model
钩。 如果我的商店已经有数据,则两个findAll
请求都已解析,触发RSVP.hash来解决。
但是,如果申请失败,我得到我的控制台(铬)undefined
错误。(两次,每次的findAll的) 我的错误跟踪系统,报告为Unhandled promise error detected
栈表明没有相关的信息要么
defaultDispatch @ ember.debug.js:18008
dispatchError @ ember.debug.js:17987
onerrorDefault @ ember.debug.js:31634
trigger @ ember.debug.js:58713
(anonymous) @ ember.debug.js:59614
invokeWithOnError @ ember.debug.js:346
flush @ ember.debug.js:405
flush @ ember.debug.js:529
end @ ember.debug.js:599
(anonymous) @ ember.debug.js:1165
我无法弄清楚是什么原因造成的错误被抛出,因为承诺findAll
已经得到了解决。而余烬告诉我,我没有履行诺言!
我试着每次都把catch/reject代码放进去,但它永远不会被调用。因为这个承诺当然已经解决了。所以,它不能被拒绝。
那么这个错误来自哪里!我没有任何线索。在适配器返回之前没有错误。
我唯一能找到的就是我的序列化程序normalizeFindAllResponse
在发生这种故障时不会被调用。
任何帮助,非常感谢。谢谢!
您可能需要查找用于加载'post'和'author'模型以查找潜在错误的adpater和serializer。堆栈跟踪错误是否有任何可扩展选项?因为它没有提供任何线索 – kumkanillam
我检查了它。没有错误。适配器只是发送它所得到的(在这种情况下拒绝了'reason')。序列化程序从未被调用过。 –
至于堆栈跟踪,它是'ember's'代码,它只是调用错误。没有相关信息,我可以担保。 –