gpt4 book ai didi

javascript - Algolia Javascript 前端客户端搜索 - .clearCache 仅在第一次运行后结果已过时并需要重新加载

转载 作者:行者123 更新时间:2023-11-30 15:00:19 26 4
gpt4 key购买 nike

几周来我一直在为这个问题苦苦挣扎,在我的 Ionic 应用程序中,我有一个简单的“搜索”,我正在做的是没有搜索文本并且只使用过滤器。我通过 Nodejs 脚本将 Algolia 与 Firebase 服务器同步,当我在 Firebase 中创建/更新/删除条目时,它会自动更新 Algolia 中的该对象。

问题是,当我从我的应用程序更新 Firebase 中的对象时,我会自动再次调用 Algolia 以获得更新的结果集。但是,当我这样做时,更新的结果直到第二次我必须重新加载结果时才会出现。它应该在我更新并重新加载后执行此操作,但它需要第二次重新加载。

我应该注意,当我第一次从 Algolia 加载结果然后执行创建/更新/删除操作时,它会正确显示,但后续更新似乎有所不同,这取决于 Algolia 和 Firebase 之间的竞争条件。我尝试添加一个 setTimeout() 因为我相信它可能与这个比赛问题有关。似乎同步几乎是立即发生的,但即使有 500 毫秒的延迟,它仍然会遇到结果不一致的问题。如果我将延迟增加到至少 1500 毫秒 - 5000 毫秒,它似乎每次都有效,但这完全取决于网络连接。有更好的方法吗?

最佳答案

Algolia 的索引操作是异步的,并公开一个您可以等待完成的任务

基本上这意味着,虽然索引速度非常快,但它不是立即可用的。

您还应该知道,Algolia JS 客户端(您在前端使用)默认情况下有一个缓存,您可以在任务完成后使用 clearCache 清除缓存。

阅读更多信息 FAQwaitTask

关于javascript - Algolia Javascript 前端客户端搜索 - .clearCache 仅在第一次运行后结果已过时并需要重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46628972/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com