我在 Firebase Storage 上有一些檔案夾。每個檔案夾都包含 1_org_zoom.jpg 檔案。我可以得到這些照片,但不是按照正確的排列順序。我想按如下圖的順序獲取這些照片,但照片是隨機顯示的。我嘗試了 for loop 和 forEach,但沒有奏效。有什么辦法可以按順序獲取這些照片嗎?
useEffect(() => {
/* for(let i = 0; i<products.length; i ){
const imgRef = ref(storage, imgFolderRef[i]);
console.log(imgRef);
getDownloadURL(imgRef)
.then((url) => {
console.log(url);
})
}
*/
imgFolderRef.forEach((imgFolder) => {
console.log(imgFolder);
getDownloadURL(ref(storage, imgFolder))
.then((url) => {
setExArr((oldArr) => [...oldArr, url])
})
})
}, [products]);
陣列名稱是 imgFolderRef。

uj5u.com熱心網友回復:
異步函式的全部意義在于不阻塞腳本的執行,以便多個操作可以同時運行。
在您的情況下getDownloadURL并且setExArr是異步的,因此您無法保證影像的順序。您可以做的是顯式排序陣列:
setExArr((oldArr) => [...oldArr, url].sort())
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/421452.html
標籤:
