灰烬海市age楼-无法捕获响应

时间:2019-05-22 16:14:54

标签: javascript ember.js ember-data ember-cli-mirage

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

## /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});
}

这是我得到的答复, enter image description here

有什么遗漏吗?

1 个答案:

答案 0 :(得分:1)

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

store.findAll包装了HTTP请求/响应逻辑,并实际上以Ember Data模型的实例或模型数组作为响应。对于您的情况,由于您调用了findAll,因此响应是由Ember Data模型组成的数组。

如果您想查看Mirage响应的详细信息,请检查控制台中是否有Mirage: 200 OK for GET /accounts之类的内容。您应该能够对此进行扩展,以查看Mirage处理的请求和响应的详细信息。