У меня ошибка при выполнении нескольких обещаний с помощью Promise.All - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть строка обещаний, но она не выполняется.

Это последовательность, и она работает, но мне нужно использовать 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'));

1 Ответ

1 голос
/ 02 апреля 2020

Вам нужно либо удалить функциональный блок, либо вернуть свое обещание.

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'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...