Javascript 灰烬幻影-无法捕获响应
作为ember的新手,我正在尝试使用ember cli mirage模拟API服务器。我正在通过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
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你能在哪里解决这个问题?您是否尝试记录数据并查看?