当激发具有不同变量的相同查询时,Apollo GraphQL取消查询

时间:2020-10-28 16:36:13

标签: graphql apollo apollo-client

tl; dr:我希望在重新触发同一查询时取消运行中查询,尽管使用不同的变量,以便仅显示最新查询的结果。

在我的应用中,有一个搜索查询,其中包含各种不同的过滤器作为变量。当用户更改这些过滤器之一时,搜索会自动重新触发。结果,如果用户连续更改多个过滤器,搜索查询将被多次触发。

从逻辑上讲,我只希望最近的查询结果生效。但是,通常会发生的情况是,第一个查询的结果通常会先返回,然后再返回第二个,第二个查询的结果就会通过并更新数据。如果情况更糟,则第一个查询的结果可能会比最新查询的结果花费更长的时间,在这种情况下,该页面最终将显示较早的,现在已经过时的查询。

我已经对Apollo的重复数据删除功能进行了大量研究,但是只有在查询完全匹配(包括变量)的情况下,这些功能才适用。但就我而言,由于用户选择了新的过滤器,查询变量有所不同。

有人知道如何解决此问题并仅返回最近查询的结果吗?

感谢您的帮助!

0 个答案:

没有答案