Вопрос №55637 от пользователя alex_de_suzo в уроке «Promise.all», курс «JS: Асинхронное программирование»
https://ru.hexlet.io/code_reviews/419971 подскажите п-ста что не так,где искать ошибку? И еще вопрос про отладку. Не совсем пойму как мне делать отладку для промежуточных результатов. Подскажите п-ста
Добрый день! Для отладки разместите console.log() внутри callback-функций. Тогда придется перейти от сокращенной записи функции к полной, со скобками и return. Сейчас возникает ошибка типизации:
TypeError: stat.isFile is not a function]
Скорее всего, в переменной stat оказывается не объект fs.Stats. Воспользуйтесь отладочной печатью и посмотрите, какие данные содержатся в этой переменной.
Максим Литвинов, отладочная печать показывает что там содержится промис. Я как понимаю проблема именно в 12 строчке. Скорее всего, я неправильно использую метод fs.stat?
Функция fs.stat() тоже возвращает промис, поэтому в переменной result оказывается массив промисов. Пробегитесь еще раз по теории этого урока, обратите внимание на первый абзац:
Промисы, как и колбеки, позволяют выполнять асинхронные операции параллельно. Причём умеют делать это в автоматическом режиме, без ручного отслеживания окончания одной из операций. Для этого достаточно собрать массив из промисов и передать их в функцию Promise.all. В результате вернётся обычный промис, на основе которого можно строить дальнейшую цепочку. Данными в первом then будет массив с данными всех выполненных операций.
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







