Вопрос пользователя Vitaly Melnikov в уроке «Параллельное выполнение операций», курс «JS: Асинхронное программирование»

Vitaly Melnikov

Зацикливается на первом тесте - где ошибочная директория (fileNames === undefined).

: Timeout - Async callback was not invoked within the 5000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 5000 ms timeout specified by jest.setTimeout.Error:

Проверяю через

    if (err1) {
      return;
    }

Сама ошибка срабатывает - проверял при бросании исключения. Из за чего зацикливается не пойму. https://ru.hexlet.io/code_reviews/328432

Вероятно на второй асинхронной функции зависает, пробовал расширить условия выхода во второй функции, но тоже без результата

      if (!files || !stats || err1 || err2) {
        return;
      }

Я предполагаю логику. При вызове callback, сначала вызаывается readDir - он возвращается к async.map и вот здесь уже должен идти возврат, но его нет.

2 0

Александр Кремнёв

Vitaly Melnikov, Следует выбросить (вернуть) ошибку, а не просто выйти, и все ок

1

Станислав Дзисяк

Виталий, приветствую!

Асинхронная функция в результате своей работы должна вызывать переданный колбек, иначе вызывающий код никак не узнает о том, что асинхронная операция была выполнена. В данном случае именно это и происходит. В случае если по каким-то причинам не удалось прочитать содержимое директории (то есть возникла ошибка), нужно вызвать переданный колбек и передать в него ошибку.

1

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы соглашаетесь c «Политикой конфиденциальности» и «Условиями оказания услуг».

Похожие вопросы

Шмырин Юрий 7 дней назад →

Зашел в тупик, не могу понять в чем проблема. https://ru.hexlet.io/code_reviews/328417

Oleg Kuzmenko 29 сентября 2020 →

Подскажите плиз. Не понимаю, как применить path.join() внутри async.map? Мы передаем path.join() вторым арг...

Aleksandr Iatseniuk 15 сентября 2020 →

Не хочет запускаться мой код (https://ru.hexlet.io/code_reviews/314967). Что делаю не так?

Сергей Ивлев 06 сентября 2020 →

Здравствуйте! предикат можно было и в подсказке упомянуть. коллекция имен ждет выполнение чтения, сумма жд...

Дмитрий Метеля 06 сентября 2020 →

Добрый день. Подскажите, пожалуйста, что за способ обращения к свойству объекта в вашем решении при извлеч...