Я пытаюсь получить URL-адрес загружаемого изображения в хранилище Firebase.
Чего я хотел добиться с помощью этого кода, так это загружать два изображения одно за другим и вставлять URL-адрес изображения в массив.
Однако мой код работает неправильно как асинхронный. В результате после Promise.all () предполагается возвращение массива с URL. Я буду признателен, если кто-нибудь поможет мне решить эту проблему.
const handleUpload = () => {
Promise.all([uploadImage(window1Image), uploadImage(window2Image)])
.then((result) => {
console.log(result);
})
.catch((err) => {
console.log(err);
});
};
const uploadImage = (image) => {
const uuid = Date.now() + uuidv4();
const imageToServer = storage.ref(`images/${uuid}`).put(image);
imageToServer.on(
'state_changed',
(snapshot) => {
const progress = Math.round((snapshot.bytesTransferred / snapshot.totalBytes) * 100);
},
(error) => {
console.log(error);
},
() => {
storage
.ref('images')
.child(uuid)
.getDownloadURL()
.then((data) => data);
},
);
};