Javascript 灰烬幻影-无法捕获响应

Javascript 灰烬幻影-无法捕获响应,javascript,ember.js,ember-data,ember-cli-mirage,Javascript,Ember.js,Ember Data,Ember Cli Mirage,作为ember的新手,我正在尝试使用ember cli mirage模拟API服务器。我正在通过store从account.js创建一个请求,但响应不是我所期望的 ## /app/routes/account.js import Route from '@ember/routing/route'; import { inject as service } from '@ember/service'; export default Route.extend({ store: service

作为ember的新手,我正在尝试使用ember cli mirage模拟API服务器。我正在通过
store
account.js
创建一个请求,但响应不是我所期望的

## /app/routes/account.js

import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';

export default Route.extend({
  store: service(),

  model() {
    this.store.findAll('accounts').then(response => {
      console.log(response)
    });
    // return this.store.findAll('accounts');
  }
});



## /app/mirage/config.js

export default function () {
  this.get('/accounts', (schema) => {
    return {
      data: [
        {
          firstName: 'John'
        }
      ]
    };
  }, {timing: 2000});
}
这是我得到的回应,


少了什么吗

您正在记录
response
,它实际上是
store.findAll
的返回值,而不是来自Mirage的HTTP响应

store.findAll
封装HTTP请求/响应逻辑,并实际使用一个Ember数据模型实例或一组模型进行响应。在您的例子中,因为调用了
findAll
,所以响应是一组余烬数据模型


如果您想查看Mirage响应的详细信息,请检查您的控制台,查看类似以下内容:
Mirage:200OK for GET/accounts
。您应该能够展开它来查看Mirage处理的请求和响应的详细信息正在返回预期的数据,但
this.store.findAll('accounts')。然后(data=>{console.log(data.get('length'));})
0
data.get('firstObject')
未定义的
。你能告诉我什么是正确的方法吗?@moustacheman你能在哪里解决这个问题?您是否尝试记录数据并查看?