Почему вместо reject срабатывает resolve?

174
02 сентября 2018, 05:50

Этот код уходит в resolve:

Promise.resolve(Promise.reject(123).catch(v => console.log(v)))
  .then(() => console.log(1), () => console.error(2))

Но мне не понятно почему. Перед cath возвращается reject. Далее catch его перехватывает. Таким образом reject нейтрализован.

В итоге непонятно что именно заставляет срабатывать первый по счёту обработчик в then

Answer 1

метод .catch возвращает поток выполнения в корректную ветку.

Чтобы продолжить выполнять ветку reject из .catch нужно так же вернуть Promise.reject(...)

Promise.resolve(Promise.reject(123) 
    .catch(v => Promise.reject(console.log(v)))) 
  .then(() => console.log(1), () => console.error(2))

READ ALSO
Обновление страницы в проекте mvc

Обновление страницы в проекте mvc

Есть сайт в проекте mvcИ у меня по таймеру обновляется страница

150
Достать значение из JSON

Достать значение из JSON

JSON содержит в себе данные в следующем виде:

205
JS Ошибка при сокрытии элемента

JS Ошибка при сокрытии элемента

Всем привет подскажите почему не работает функцияЦель функции считать с local storage время в которое кнопка была нажата

159