Javascript 如何等待firebase图像上载

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()

我正在尝试将多个图像上载到firebase,但我需要返回的url才能继续。在继续之前,有没有办法等待返回

我拥有的代码是:

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)