我正在尝试实现一个搜索字段,这里发生的是每当用户输入文本i文本字段时,计时器重置为300毫秒,然后发送api调用(搜索)以获取自动完成结果等待另一个1并发送另一个请求。在此期间,用户可以输入更多文本。因此,我假设的一个场景是调用搜索API,并且在响应到达之前,用户更改发送另一个预搜索调用的文本,现在搜索的响应到达并且被误认为是预搜索响应,因此给出了错误。这有什么解决方法吗?
答案 0 :(得分:0)
当用户输入更多文字时,您想取消正在进行的请求。
我假设你正在使用fetch
api。
不幸的是,根据Promise规范,它没有办法取消请求。如果您需要取消请求,可以直接使用XMLHttpRequest
。
另一种可能性是检查fetch
响应处理程序,如果搜索的初始文本已更改。在这种情况下,您不会在该处理程序中执行任何操作。