Javascript 当每个api请求的数据量有限时,如何搜索或过滤结果?

Javascript 当每个api请求的数据量有限时,如何搜索或过滤结果?,javascript,reactjs,rest,redux,Javascript,Reactjs,Rest,Redux,我使用的api每个请求最多提供100个项目。现在我已经实现了一个搜索和过滤——当然,只有获取的项目被搜索/过滤(这使得我的搜索/过滤逻辑几乎毫无意义) 到目前为止,我唯一的想法是一直调用发出api请求的函数,直到我获得所有数据,然后才显示搜索/筛选字段。然而,获取所有数据将持续大约一分钟 有更好的方法吗 另外,我正在使用redux/react。最干净的解决方案是在后端创建新的搜索API 其他的选择将是低效的,可能是有缺陷的。但您可以尝试定期获取所有项目,并将其存储在本地并从中进行搜索。我建议,在

我使用的api每个请求最多提供100个项目。现在我已经实现了一个搜索和过滤——当然,只有获取的项目被搜索/过滤(这使得我的搜索/过滤逻辑几乎毫无意义)

到目前为止,我唯一的想法是一直调用发出api请求的函数,直到我获得所有数据,然后才显示搜索/筛选字段。然而,获取所有数据将持续大约一分钟

有更好的方法吗


另外,我正在使用redux/react。

最干净的解决方案是在后端创建新的搜索API


其他的选择将是低效的,可能是有缺陷的。但您可以尝试定期获取所有项目,并将其存储在本地并从中进行搜索。

我建议,在获取下一批项目时,为filteredUptoIndex维护一个变量。更改过滤器逻辑,将开始索引也作为参数。将下一个筛选结果附加到已筛选的结果。重置变量,如果过滤器被更改或重置,则filteredResults数组。您确定不能在API中实现过滤器吗?API仅提供3个过滤器选项,这些选项不是我想要的,或者至少不是全部。因此,我现在做的是在迭代中获取所有项,然后使用Promise.all解析所有项。为什么你认为它会导致错误和效率低下?谢谢获取所有项目会导致许多对后端的请求,并且速度会很慢。如果在这段时间内后端发生了更改,该怎么办?