Объект Promise представляет окончательное завершение (или сбой) асинхронной операции и ее результирующее значение.

Состав

Обещания имеют базовый план

new Promise( /* executor */ function(resolve, reject) { ... } );

Функция, переданная с аргументами resolve и reject. executorfunction выполняется немедленно реализацией Promise, передавая функции resolve и reject (исполнитель вызывается до того, как конструктор Promise даже вернет созданный объект). Функции resolve и reject при вызове разрешают или отклоняют обещание соответственно. Исполнитель обычно инициирует некоторую асинхронную работу, а затем, после ее завершения, либо вызывает функцию resolve для выполнения обещания, либо отклоняет его, если произошла ошибка. Если в функции исполнителя возникает ошибка, обещание отклоняется. Возвращаемое значение исполнителя игнорируется.

Пример

Обещания не возвращают значения сразу. Он ждет успеха или неудачи, а затем возвращается соответственно. Это позволяет асинхронным методам возвращать значения, подобные синхронным. Вместо того, чтобы сразу возвращать значения, асинхронные методы предоставляют обещание вернуть значение.

Цепочка обещаний

Идея цепочки обещаний заключается в том, что результат передается через цепочку .then обработчиков.

Значение возвращается следующему обработчику .then. Из вывода можно сделать вывод, что оператор return передает значение следующему обработчику .then.

Заключение

Это была лишь основная суть обещаний JavaScript. Обещания могут сделать намного больше, если их использовать правильно и в нужном месте.

Надеюсь, вам понравилось читать. Подключите меня к Linkedin