Sobes.tech
Назад к вопросам
Middle
2

Promise.reject('Api Error') .then(data => console.log('ok')) .catch(error => { console.log(error); return '1'; }) .then(data => { console.log(data); });

Компании, где спрашивали
WildberriesWildberries

Ответ от нейросети

sobes.tech AI

Разбор кода:

Promise.reject('Api Error')
  .then(data => console.log('ok'))
  .catch(error => {
    console.log(error); // Выведет 'Api Error'
    return '1';
  })
  .then(data => {
    console.log(data); // Выведет '1'
  });

Объяснение:

  1. Promise.reject('Api Error') создаёт отклонённый промис с ошибкой 'Api Error'.
  2. Первый .then пропускается, так как промис отклонён.
  3. .catch ловит ошибку, выводит её в консоль и возвращает строку '1'.
  4. Возвращённое значение '1' становится успешным результатом для следующего .then.
  5. Второй .then получает '1' и выводит её.

Итог в консоли:

Api Error
1

Таким образом, .catch не только обрабатывает ошибку, но и преобразует цепочку обратно в успешную, передавая значение дальше.