js-data dataStore.find() 找不到缓存的结果

js-data dataStore.find() can't find cached results

我每次都使用相同的参数调用 dataStore.find()。当前适配器是HttpAdapter。然而,在初次调用后,它似乎无法在缓存中找到数据并再次调用API。即使数据实际上已被缓存,这种情况仍在发生,js-data 似乎无法找到它:

我从 API 取回的数据不包含 id 属性。当 js-data 在调用 dataStore.find() 后查看缓存时,它会查找匹配 idAttribute 的项,默认情况下为 id。因此,每次请求数据时,都会将其添加到缓存中,但无法找到后记。为了解决这个问题,我在我的映射器中添加了适当的 idAttribute

this.mapper = this.dataStore.defineMapper('community', {
  schema: this.communitySchema,
  endpoint: 'cm',

  // We don't have an 'id' property so the cached records won't be found.
  // Thus, we set the 'idAttribute' to 'code', which is the unique identifier
  // for communities.
  idAttribute: 'code'
});