【发布时间】:2020-05-21 10:51:17
【问题描述】:
我们在 Angular 6 中使用 HTTP 客户端来获取一页数据。当多个请求发送得太快时,例如用户输入过滤字符,页面请求会继续快速发送。结果回来很容易出问题。假设 HTTP 客户端调用了 3 次,最终返回的结果可能是第 1 次服务请求。
如何解决这个问题?提前致谢。
【问题讨论】:
-
你试过rxjs告发吗?
-
在发送下一个请求之前向服务器发送一个 CancelationRequestToken。
-
这不是 http 问题。而是发送请求的方式。所有请求都是异步的,这意味着同时请求没有顺序保证。使用 RxJS 间隔或去抖动来找到完美的时机。从 200 毫秒开始,然后减少,直到问题再次发生