1
var images = [];
let uploader = new Slingshot.Upload("articles");
// file input
let files = document.getElementById("someId").files;
for (let i = 0; i < files.length; i++) {
uploader.send(files[i], function (error, downloadUrl) {
if (!error) {
//save all download urls in an array
images[i] = downloadUrl;
}
});
}
console.log(images);
當我在下載URL後填入上面的圖片數組時,它是空的。 send()塊後任何變量值都會丟失。我想將所有的下載URL存儲在一個數組中,那麼我該怎麼做?帶邊緣的多個文件上傳網址:彈弓
''在''uploader.send()''處關閉')',在'for'循環處關閉'}'? 'uploader.send()'異步返回結果嗎? – guest271314
是的,我忘了輸入。它以異步方式發送文件,並在每個實例化中處理一個文件。正如在上面的代碼中,我想存儲一個url數組,但這不讓我這樣做。 – Buyantogtokh
'console.log(images)'可以在異步回調完成之前調用。在調用console.log(images)之前,你可以檢查'i'是否等於'files.length';例如,在回調中,'if(i === files.length){console.log(images)}' – guest271314