我有一个每次用户更新条目时执行的功能,以使条目列表保持最新。我遇到的问题是,当我在索引上运行.clearCache()时,即使我在运行实际搜索功能之前这样做,也需要两次重新加载才能获得最新的更新。它表现得好像是重新加载。我不知道是什么造成了这个,但这是我的搜索功能:
search() {
this.results = [];
// Clear the algolia cache
this.auditionsIndex.clearCache();
this.auditionsIndex.search('', options).then(result => {
if(result.hits && result.hits.length > 0) {
this.results = result.hits;
}
// Clear the cache one more time
this.auditionsIndex.clearCache();
});
}
答案 0 :(得分:4)
更改Algolia索引中的某些内容会异步发生,当您执行index.saveObject()
之类的内容时,Promise / callback的结果将是taskId
的对象。然后,您可以index.waitTask
执行该任务,并向您的前端发送一些事件,让它知道清除缓存和搜索。
请参阅https://www.algolia.com/doc/api-reference/api-methods/wait-task/#methods