【发布时间】:2018-08-21 15:46:32
【问题描述】:
我以为我了解 store.findAll 和 Promise.All 的工作原理。但是我遇到了一些奇怪的行为。 我有两个 findAll(),但在 Promise.All 进入 then()-part 之后,只有一个被填充。
查看此代码
export default Route.extend({
model() {
var self = this;
return Ember.RSVP.Promise.all([
self.store.findAll('contact'),
self.store.findAll('message')
]).then(function(values) {
var contacts = values[0];
var messages = values[1];
var numberOfContacts = contacts.get('length'); // This is 39 as expected.
var numberOfMessages = messages.get('length'); // This is 0. Expected is 1.
...
消息和联系人肯定有什么不同,但我不知道是什么。它们具有非常相似的模型,并且具有非常相似的后端 API 处理。从网络流量中我可以看到返回了一个消息对象,如果我调用(稍后在代码中,在模型挂钩之后):
store.peekAll('message');
我得到了我期望的消息对象。
我使用 ember 3.0.0
【问题讨论】:
标签: ember.js promise ember-data json-api