我正在尝试优化实时搜索组件,主要问题是每次输入更改时都会有很多XHR请求。添加每个字母后-向服务器发送新请求,并且请求需要花费不同的时间才能完成。因此,最新完成的XHR(实际上是第一个XHR,因为它经常返回所有数据)发出渲染组件。 如何仅在最后一个XHR完成时更新组件?
图片示例: 我只需要在2个XHR完成时更新组件,但是现在它在每个XHR完成时更新,并且组件中的最后数据是从1个XHR开始的,因为完成需要更多的时间。
有我的componentDidUpdate
方法:
componentDidUpdate(prevProps) {
if (!isEqual(this.props.userFilterData, prevProps.userFilterData)) {
const {
userFilterData,
initPagination
} = this.props;
user
.find(userFilterData)
.then(() => initPagination(user.selectors.find(userFilterData)));
}
}