queryRecord返回一个类对象而不是我期望的记录

时间:2015-11-14 13:51:35

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

我使用ember-cli-mirage来存根API,在配置中我有这个

this.get('/users',function(db,request){
  if(request.queryParams.short_url){
    var short_url = request.queryParams.short_url;
    return db.users.where({short_url: short_url});
  } else {
    console.log('no query params');
    return db.users;
  }
});

在我的索引路径中,我有模型钩子设置

model(params) {
  return this.store.queryRecord('user',{short_url: params.short_url});
}

但是,我没有从海市蜃楼返回我的用户模型,当我将其转换为变量并将其记录到控制台时,我得到了一个类对象。

1 个答案:

答案 0 :(得分:0)

store.queryRecord返回的是一个承诺。在渲染模板之前,Ember会在内部等待解析。如果您想记录该数据或将该数据保存到localstorage中,您需要首先解决该承诺

// ...
return this.store.queryRecord('user',{short_url: params.short_url}).then(function(result){
    // console.log(result);
    // localStorage.setItem('result', JSON.stringify(result));
    return result;
});
// ...