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'
});
我每次都使用相同的参数调用 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'
});