gpt4 book ai didi

javascript - 当有多个同时运行时如何中止 XHR 连接?

转载 作者:行者123 更新时间:2023-11-30 05:47:28 24 4
gpt4 key购买 nike

我正在开发一个文件 uploader ,其中大约有 10 个文件通过 for 循环同时上传。

现在我正在尝试创建一个取消按钮来取消所有 上传,但是使用我当前的代码,只有最后一次上传会取消

我已经包含了我的简化代码,但基本上它是一个遍历图像数组 (theAttach) 的循环,它为每个图像设置一个 xhrAttach 来发送图像。所以大约有 10 张图片同时开始上传。

如果按下取消按钮,我会运行命令 xhrAttach.abort(); 但只有最后一张图像会中止。

有什么想法吗?

                for (var i=0;i<theAttach.length;i++)
{

var xhrAttach = Ti.Network.createHTTPClient();
xhrAttach.timeout = 15000;
xhrAttach.onsendstream = function(e){


};

xhrAttach.onreadystatechange = function() {

if (xhrAttach.readyState != 4) return;

if ((i == theAttach.length) && (xhrAttach.readyState == 4))
{

}

};

xhrAttach.onerror = function() {
};


xhrAttach.open('POST', url, true);
xhrAttach.setRequestHeader('User-Agent', theuseragent());
xhrAttach.send(AttachmentTransmitArray);

}

最佳答案

Cocco 做到了!他建议我将每个 xhr 缓存到一个容器数组中,因此我可以访问单个 xhr 并以这种方式中止它,即 xhrAttach[i].abort()

我这样做了,效果很好!谢谢 cocoa !

关于javascript - 当有多个同时运行时如何中止 XHR 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17181428/

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