关于空搜索结果的Javascript AlgoliaJS .clearCache()始终是“搜索后面”

时间:2017-09-28 02:53:03

标签: javascript algolia

我有一个每次用户更新条目时执行的功能,以使条目列表保持最新。我遇到的问题是,当我在索引上运行.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();
    });
  }

1 个答案:

答案 0 :(得分:4)

更改Algolia索引中的某些内容会异步发生,当您执行index.saveObject()之类的内容时,Promise / callback的结果将是taskId的对象。然后,您可以index.waitTask执行该任务,并向您的前端发送一些事件,让它知道清除缓存和搜索。

请参阅https://www.algolia.com/doc/api-reference/api-methods/wait-task/#methods