首页 > 解决方案 > 使用 Promise.All 运行多个 Promise 时出现错误

问题描述

我有一串承诺,但它没有被执行。

这是序列,它正在工作,但我必须使用 Promise.all。

 dataObj[0].pushScreen.map(item => {
      console.log(item.page);

      firebase
        .storage()
        .ref(username)
        .child(item.nameComponent)
        .putFile(item.page)
        .then(() => console.log('Imagem enviada'))
        .catch(err => console.log('Imagem não enviada: ' + err));
    });

我试图这样做,但没有奏效

 Promise.all(() => {
    dataObj[0].pushScreen.map(item => {
      firebase
        .storage()
        .ref(username)
        .child(item.nameComponent)
        .putFile(item.pages)
        .then(() => console.log('Imagem enviada'))
        .catch(err => console.log('Imagem não enviada: ' + err));
    });
  })
    .then(function(values) {
      console.log('Resolvidas');
    })
    .catch(() => console.log('erro'));

标签: javascriptreactjsreact-nativepromise

解决方案


您需要删除功能块或返回您的承诺。

Promise.all(
    dataObj[0].pushScreen.map((item) =>
        firebase
            .storage()
            .ref(username)
            .child(item.nameComponent)
            .putFile(item.pages)
            .then(() => console.log('Imagem enviada'))
            .catch((err) => console.log('Imagem não enviada: ' + err))
    )
)
    .then(function(values) {
        console.log('Resolvidas');
    })
    .catch(() => console.log('erro'));

推荐阅读