Javascript 如何等待firebase图像上载
我正在尝试将多个图像上载到firebase,但我需要返回的url才能继续。在继续之前,有没有办法等待返回 我拥有的代码是:Javascript 如何等待firebase图像上载,javascript,parse-platform,react-native,Javascript,Parse Platform,React Native,我正在尝试将多个图像上载到firebase,但我需要返回的url才能继续。在继续之前,有没有办法等待返回 我拥有的代码是: data.forEach((element) => { const sessionId = new Date().getTime(); Blob.build(RNFetchBlob.wrap(element.path), { type : 'image/jpeg' }) .then((blob) => {firebase.storage()
data.forEach((element) => {
const sessionId = new Date().getTime();
Blob.build(RNFetchBlob.wrap(element.path), { type : 'image/jpeg' })
.then((blob) => {firebase.storage()
.ref('images')
.child(`${sessionId}`)
.put(blob, { contentType : 'image/png' })
.then((snapshot) => {
element.image = snapshot.metadata.downloadURLs[0];
})
});
});
Parse.Cloud.run('doSomething', {
data : data,
}).then(res => {
dispatch({
type: 'WE_DID_SOMETHING',
});
});
我希望有多个图像上传,所以在调用Parse之前,我将有多个对firebase的调用。在继续之前,如何确保已从firebase调用返回URL
任何帮助都将不胜感激。我相信您需要的是
承诺。all()
:
Promise.all(array)
只有在array
中的所有承诺都已解决后才会解决。让您的forEach在每次迭代中创建一个promise对象(而不是使用.then()
单独处理每个解析),并将其推送到数组中,然后在调用data.forEach()
后运行promise.all(array)