gpt4 book ai didi

asynchronous - 如何在 AbortController.abort() 之后启动另一个请求?

转载 作者:行者123 更新时间:2023-12-03 22:15:31 27 4
gpt4 key购买 nike

我已经阅读了有关使用 AbortController.abort() 取消获取请求的信息。 .有没有办法在调用此命令后再次启动请求而不中止它?

例如,在 this demo from MDN , 一旦单击取消下载,单击下载视频将再次触发提取,但会立即中止。

有没有办法在不中止它的情况下再次允许这个请求?那么,在这种情况下,如何单击“下载视频”开始下载,单击“取消下载”取消下载,然后再次单击“下载视频”再次开始下载?例如,如果用户不小心点击了取消下载...

最佳答案

For example, in this demo from MDN, once Cancel download has been clicked, clicking Download video will trigger the fetch again, but immediately abort it.



他们修复了 example .点击后 Cancel download您将能够开始新的下载并一遍又一遍地取消下载。为了实现 Download button实例化一个新的 AbortController 每次,所以你每次都会得到一个新的中止信号:
downloadBtn.addEventListener('click', fetchVideo);

function fetchVideo() {
controller = new AbortController;
signal = controller.signal;
// ...

因此,可以为您可能希望取消的每个请求实例化新的 AbortControllers。

关于asynchronous - 如何在 AbortController.abort() 之后启动另一个请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51091109/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com