2

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

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

4

1 回答 1

0

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

// ...
return this.store.queryRecord('user',{short_url: params.short_url}).then(function(result){
    // console.log(result);
    // localStorage.setItem('result', JSON.stringify(result));
    return result;
});
// ...
于 2015-11-14T15:38:47.243 回答