Ember Mirage - 无法捕获响应
Ember Mirage - Not able to capture the response
ember 的新手,我正在尝试使用 ember-cli-mirage 模拟 API 服务器。我正在创建从 account.js
到 store
的请求,但响应不是我所期望的。
## /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
的 return 值,而不是来自 Mirage 的 HTTP 响应。
store.findAll
包装了 HTTP request/response 逻辑,并实际响应 Ember 数据模型或模型数组的实例。在您的情况下,因为您调用了 findAll
,响应是一个 Ember 数据模型数组。
如果您想查看 Mirage 响应的详细信息,请检查您的控制台是否有类似 Mirage: 200 OK for GET /accounts
的内容。您应该能够展开它以查看 Mirage 处理的请求和响应的详细信息。
ember 的新手,我正在尝试使用 ember-cli-mirage 模拟 API 服务器。我正在创建从 account.js
到 store
的请求,但响应不是我所期望的。
## /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
的 return 值,而不是来自 Mirage 的 HTTP 响应。
store.findAll
包装了 HTTP request/response 逻辑,并实际响应 Ember 数据模型或模型数组的实例。在您的情况下,因为您调用了 findAll
,响应是一个 Ember 数据模型数组。
如果您想查看 Mirage 响应的详细信息,请检查您的控制台是否有类似 Mirage: 200 OK for GET /accounts
的内容。您应该能够展开它以查看 Mirage 处理的请求和响应的详细信息。