私は、約 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);
}