我有一個典型的場景。 我的模型鉤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'代碼,它只是調用錯誤。沒有相關信息,我可以擔保。 –