Ember数据适配器的自定义查询功能

时间:2017-04-20 18:33:42

标签: javascript ember.js ember-data

我正在尝试覆盖我的应用程序适配器中的默认查询功能。我正在使用查询从后端获取数据,当应用程序脱机时,我只想使用.peekAll()查询当前存储在缓存中的数据。

我用这个作为参考,但没有多大用处。 https://emberjs.com/api/data/classes/DS.Adapter.html#method_query

这是我到目前为止所做的。

更新

// adapters/application.js
  
// turns to cache when no connection available
export default DS.JSONAPIAdapter.extend({
  // ...
  query(store, type, query) {
    let isOnline = this.get('isOnline'); // updates according to connection, returns true or false
    if (isOnline) {
      // execute regular query() when online
      return this._super(...arguments);
    } else {
      // return promise for query().then() to work
      return PromiseArray.create({
        promise: RSVP.resolve(store.peekAll(type.modelName))
      });
    }
  }
}

但我的问题是我无法正确执行查询功能中的查询功能。不知道这里有什么问题,我尝试将其包含在承诺中或者使用.then()返回。

更新

// can't get this to work
query(store, type, query) {
  return PromiseArray.create({
    promise: RSVP.resolve(store.peekAll(type.modelName))
  });
}

我觉得一旦我做对了,剩下的就不会有什么问题了。

非常感谢任何帮助,想法或解决方法!

0 个答案:

没有答案