Ember.js 当余烬';s型挂钩&x27;s的请求失败

Ember.js 当余烬';s型挂钩&x27;s的请求失败,ember.js,ember-data,ember-cli,Ember.js,Ember Data,Ember Cli,我有一个典型的场景。 我的Route-1模型挂钩看起来像这样 model() { return Ember.RSVP.hash({ posts: this.store.findAll('post'), authors: this.store.findAll('author') }); } 如果我在Route-2上并导航到Route-1,它将调用模型挂钩。 如果我的存储中已有数据,则会解析findAll请求,并触发RSVP.hash进行解析 但是如果请求失败,我的控制台

我有一个典型的场景。 我的
Route-1
模型挂钩看起来像这样

model() {
  return Ember.RSVP.hash({
    posts: this.store.findAll('post'),
    authors: this.store.findAll('author')
  });
 }
如果我在
Route-2
上并导航到
Route-1
,它将调用
模型
挂钩。 如果我的存储中已有数据,则会解析
findAll
请求,并触发RSVP.hash进行解析

但是如果请求失败,我的控制台(chrome)就会出现
undefined
错误。(findAll各两次) 我的错误跟踪系统将其报告为检测到的
未处理承诺错误

堆栈也没有显示相关信息

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  
我无法找出引发错误的原因,因为promise
findAll
已得到解决。余烬告诉我,我没有履行诺言

我试着把捕获/拒绝代码放在每个人身上,但它从来没有被调用过。因为承诺当然已经解决了。因此,它不能被拒绝

那么这个错误是从哪里来的!!我不知道。在适配器返回之前没有错误

我能找到的唯一东西是在我的序列化程序
normalizeFindAllResponse
中,每当发生此类故障时,都不会调用它


非常感谢您的帮助。谢谢

我不知怎么解决了这个问题

之前,在我的适配器中,我拒绝使用Promis的reasonobject的承诺。 现在,在错误响应的情况下,我宁愿发送一个包含
errors
数组的对象,而不是失败原因对象。 因此,对象将作为有效负载传递给序列化程序中的my
normalizeFindAllResponse
。在那里,我检查
有效载荷
参数中是否存在
错误
数组。 如果存在这样的对象,那么只需将
data
属性设置为空数组的空对象返回即可


注意:您可能需要查找用于加载
post
author
模型的ADGater和序列化程序,以查找潜在错误。堆栈跟踪错误是否有可扩展的选项?因为它实际上没有提供任何线索,我检查了一下。没有错误。适配器只发送它得到的内容(在本例中,拒绝
原因
)。至于堆栈跟踪,调用错误的是'ember'代码。没有相关信息,我可以担保。你能检查你的服务器响应吗?它是一个有效的json吗?@ykaragol是的,它有一个json响应。我的适配器的承诺处理程序已成功执行。在适配器返回后,控制台中会抛出一个没有相关信息的错误。它只是说
未定义
和上面的堆栈跟踪。