当我在文本字段小部件中输入文本时,我会发送请求,其中包含输入的每个字符,以从服务器获取匹配的数据。
当我打字速度非常快时,我会向服务器发送请求,这会导致我的控制卡住,我设法创建了限制机制,在其中设置客户端在发送请求之前应等待多少毫秒。这就需要设置任意常数ms来等待。更好的解决方案是在按下下一个按键时取消发送先前的请求。
是否可以独立于当前状态取消 AJAX 请求?如果是,如何实现?
最佳答案
调用XMLHttpRequest.abort()
参见:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/abort
您必须以某种方式跟踪您的请求,也许是在一个数组中。
requests = [];
xhr = new XMLHttpRequest(),
method = "GET",
url = "https://developer.mozilla.org/";
requests.push(xhr);
关于javascript - 是否可以独立于当前状态取消异步调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40640728/