вызов функции внутри для цикла JavaScript - PullRequest
0 голосов
/ 27 апреля 2018

Хорошо, вот мой цикл:

if (list.length) {
        for (let i = 0; i < list.length; i++) {
            let fruit = list[i].attributes;
            if (fruit.color === 'red') {
                id = fruit.id;
                fruit.path = base.fruit_directory + "/" + id;
                saveFruit(id);
            }
        }
}

Теперь, когда появляется фрукт === красный. Сохранение фруктов не выполняется автоматически. Но после того, как все остальное уходит, Почему это?

Есть ли обходные пути?

1 Ответ

0 голосов
/ 27 апреля 2018

Если предположить, что saveFruit возвращает обещание (если не опубликовано, пожалуйста, эту функцию):

Promise.all(
  list.map(item=>item.attributes)//map list items to fruit
  .filter(fruit=>fruit.color==="red")//only red fruit
  .map(f=>saveFruit(base.fruit_directory +"/"+f.id))//map fruit to promise resolving in response
).then(
  responses=>console.log("got responses:",responses)
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...