什么是axios取消令牌?

coc*_*ffs 9 axios

https://github.com/axios/axios#cancellation

我一直在研究如何取消上载PUT请求,并在文档中遇到了这一部分。为什么需要令牌才能取消?简单来说,流程或过程是什么?如何使用?

A. *_*jar 9

一个很好的例子是,当你有一个搜索组件,并想象在每次键盘敲击输入标签时,都会发出一个 axios 请求,这可能导致请求过载。

取消令牌的想法可以帮助取消之前的键盘敲击请求

这个链接在 reactjs 中做了一个很有启发性的例子。

  • 您可能希望对搜索查询使用去抖,而不是每次查询更改时取消先前的请求... (8认同)
  • 您将同时使用去抖和取消。无法保证异步请求按顺序完成,因此如果您不取消未完成的请求,最终可能会得到不完整的结果。 (3认同)

Hun*_*san 6

通常,axios请求会向您返回承诺。而且您无法使用该承诺返回原始请求。使用cancellationToken您将特定请求与获取表格的源相关联var source = CancelToken.source();

我不知道内部工作原理,但我猜想是cancel()如文档中所述调用该源,立即reject()通过传递给您的错误字符串调用您已订阅的Promisecancel()