Javascript 如何处理一个接一个请求对同一API的并发响应顺序?
我有一个autocomplete函数,当用户键入某个内容时,会进行API调用,然后debounce函数会延迟后续的API调用,直到用户键入为止 比方说,用户停止键入并拨打电话,电话立即返回 但第一次呼叫在第二次呼叫返回后返回。该函数将接收到的最新数据保存在内存中,并显示旧查询的自动完成结果,但不显示最新查询 如何在提出第二个请求之前取消第一个请求 或者,当函数已经收到最新查询的响应时,是否有方法忽略第一次API调用的结果 我能想到的一个解决方案是将时间戳与数据一起存储在内存中,这样当第一个请求响应时,我就可以检查时间戳,如果它比第二个调用旧,那么就忽略它 我能想到的另一个解决方案是创建一个XMLHttpRequest请求,然后在创建新请求之前基本上中止先前的请求 看来没有办法放弃承诺Javascript 如何处理一个接一个请求对同一API的并发响应顺序?,javascript,asynchronous,concurrency,promise,xmlhttprequest,Javascript,Asynchronous,Concurrency,Promise,Xmlhttprequest,我有一个autocomplete函数,当用户键入某个内容时,会进行API调用,然后debounce函数会延迟后续的API调用,直到用户键入为止 比方说,用户停止键入并拨打电话,电话立即返回 但第一次呼叫在第二次呼叫返回后返回。该函数将接收到的最新数据保存在内存中,并显示旧查询的自动完成结果,但不显示最新查询 如何在提出第二个请求之前取消第一个请求 或者,当函数已经收到最新查询的响应时,是否有方法忽略第一次API调用的结果 我能想到的一个解决方案是将时间戳与数据一起存储在内存中,这样当第一个请求响
请给出可能的解决方案。是否有一个可以考虑的异常控制器?你确实错过了路旁的火车way@Novy是的,我想可以用。我将尝试使用它,并承诺中止先前的异步请求。当然,我们会尝试添加一个代码笔链接来重现这个场景。谢谢。堕胎控制器是你可以考虑的吗?你确实错过了路旁的火车way@Novy是的,我想可以用。我将尝试使用它,并承诺中止先前的异步请求。当然,我们会尝试添加一个代码笔链接来重现这个场景。谢谢