Промисы. Промежуточные итоги 2 / Promise. Intermediate repetition 2.

preview_player
Показать описание
Уроки JS. Темы: повторяем основы промисов ( метод then, чеининг промисов, reject функция... ). Подробности ниже ...

00:08 Продолжаем заполнять таблицу "Особенности промисов"
20:59 Чеининг промисов / promise chaining , их поток данных. Демонстрация в Codepen.
43:45 Продолжаем заполнять таблицу "Особенности промисов". Состояние нового промиса, возвращенного от метода then, зависит только от того, как callback метода then старого промиса был завершен (успешно / с ошибкой). Демонстрация в Codepen
56:47 Продолжаем заполнять таблицу "Особенности промисов". Разбираем примеры ( несколько команд then применены к 1 промису ).
01:11:59 Особенности выполнения функции reject, переводящей промис в состояние
rejected.

Ссылка на документ с описанием особенностей промисов

Приветствуем Вас на нашем канале InSimpleWords.

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

Видео рекомендуется к просмотру на скорости 1.5x.
Комментарии
Автор

Жду видео по async/await
P.S. я реально дошёл до этого видео, а не просто пролистнул)
Смотрю как лекции в университете и записываю код периодически
Кажется, что очень длинные видео, но на самом деле это плюс, потому что:
1. Начинаешь улавливать логическую цепочку происходящего в JS из длинных речей автора
2. Какие-то детали начинаешь понимать/вспоминать, и эти детали потом спасут много раз в будущих твоих кодах. И о этих деталях никто в других коротких видео не говорил, и в книгах о них не писали.

indigosay
Автор

Получается что reject нужен для "контролируемой", планируемой ошибки или отрицательного результата (напр-р нет ответа от сервера при запросе и т.п). Но если ошибка возникает как либо непреднамеренно (например ReferenceError в моём примере), промис reject-ится НЕ через функцию reject, прописанную нами, а грубо(!) говоря через thrower и соответственно проброс возникшей нежданной ошибки во внешнюю среду.

let promise = new Promise( function(res, rej) {
error
rej('Rejected error')
})

В консоли:
"[[PromiseStatus]]: "rejected"

[[PromiseValue]]: ReferenceError: error is not defined..."
Вместо "Rejected error".
Это правильные мысли?)

nonamenoname