PROG_WAY_BLOG Telegram 184
Что такое Promise?

Promise — это способ обработки асинхронного кода в JavaScript. Это нативный объект языка, у которого есть своё состояние и несколько методов для удобства работы с ним. Всё это нужно для того, чтобы удобно отслеживать статус выполнения асинхронной операции и, в конечном итоге, получить её результат.

Также отдельно стоит отметить, что промис является микрозадачей.

У Promise есть несколько состояний:
— pending — ожидание — такое состояние будет у промиса в момент его создания и до того момента, как асинхронная операции не будет выполнена. После выполнения асинхронной операции, Promise переходит следующие два состояния — fulfilled или rejected
— fulfilled — успех — операция выполнена успешно
— rejected — ошибка — если вдруг в цепочке промисов возникла ошибка

О какой цепочке речь? У Promise есть три метода, которые позволяют создавать из обычного промиса целую цепочку и обрабатывать данные последовательно.
— then — метод, который принимает результат предыдущего промиса и возвращает новый результат
— catch — метод, который позволяет обработать ошибку операции
— finally — то, что будет выполнено всегда после цепочки промисов, вне зависимости от того завершился он с успехом или нет

Типичный вид промиса следующий:

new Promise((resolve, reject) => ...)
.then(...)
.then(...)
.catch(...)
.finally(...)


Обратите внимание на то, что эти методы вызываются цепочкой. Но никто и не запрещает сохранять промежуточный результат в переменную, если это необходимо:

const promise1 = new Promise((resolve, reject) => ...).then(...)

const promise2 = promise1.then(...)

promise2.catch(...).finally(...)


Также обратите внимание на то, что callback промиса принимает два аргумента — функции resolve и reject.

Они нужны для того, чтобы перевести Promise из состояния pending в два других, причем reject приведёт промис к состоянию rejected и вызовет методы catch, если они есть в цепочке, а resolve либо переведёт нас к следующему в цепочки then с текущим статусом, либо переведёт Promise в состояние fulfilled.

На самом деле, рассказать в рамках поста эту тему подробно просто невозможно. Я бы не сказал, что эта тема сложная, она просто достаточно объёмная. Вдумчивое изучение позволит вам понять что такое Promise за пару часов.

Очень советую статью о промисах на Доке для самостоятельного изучения.

Спасибо за прочтение, это важно для меня

#javascript #web #theory
26👍16🔥13🐳3💯21🍌1



tgoop.com/prog_way_blog/184
Create:
Last Update:

Что такое Promise?

Promise — это способ обработки асинхронного кода в JavaScript. Это нативный объект языка, у которого есть своё состояние и несколько методов для удобства работы с ним. Всё это нужно для того, чтобы удобно отслеживать статус выполнения асинхронной операции и, в конечном итоге, получить её результат.

Также отдельно стоит отметить, что промис является микрозадачей.

У Promise есть несколько состояний:
— pending — ожидание — такое состояние будет у промиса в момент его создания и до того момента, как асинхронная операции не будет выполнена. После выполнения асинхронной операции, Promise переходит следующие два состояния — fulfilled или rejected
— fulfilled — успех — операция выполнена успешно
— rejected — ошибка — если вдруг в цепочке промисов возникла ошибка

О какой цепочке речь? У Promise есть три метода, которые позволяют создавать из обычного промиса целую цепочку и обрабатывать данные последовательно.
— then — метод, который принимает результат предыдущего промиса и возвращает новый результат
— catch — метод, который позволяет обработать ошибку операции
— finally — то, что будет выполнено всегда после цепочки промисов, вне зависимости от того завершился он с успехом или нет

Типичный вид промиса следующий:

new Promise((resolve, reject) => ...)
.then(...)
.then(...)
.catch(...)
.finally(...)


Обратите внимание на то, что эти методы вызываются цепочкой. Но никто и не запрещает сохранять промежуточный результат в переменную, если это необходимо:

const promise1 = new Promise((resolve, reject) => ...).then(...)

const promise2 = promise1.then(...)

promise2.catch(...).finally(...)


Также обратите внимание на то, что callback промиса принимает два аргумента — функции resolve и reject.

Они нужны для того, чтобы перевести Promise из состояния pending в два других, причем reject приведёт промис к состоянию rejected и вызовет методы catch, если они есть в цепочке, а resolve либо переведёт нас к следующему в цепочки then с текущим статусом, либо переведёт Promise в состояние fulfilled.

На самом деле, рассказать в рамках поста эту тему подробно просто невозможно. Я бы не сказал, что эта тема сложная, она просто достаточно объёмная. Вдумчивое изучение позволит вам понять что такое Promise за пару часов.

Очень советую статью о промисах на Доке для самостоятельного изучения.

Спасибо за прочтение, это важно для меня

#javascript #web #theory

BY progway — программирование, IT




Share with your friend now:
tgoop.com/prog_way_blog/184

View MORE
Open in Telegram


Telegram News

Date: |

The Channel name and bio must be no more than 255 characters long Ng was convicted in April for conspiracy to incite a riot, public nuisance, arson, criminal damage, manufacturing of explosives, administering poison and wounding with intent to do grievous bodily harm between October 2019 and June 2020. Telegram offers a powerful toolset that allows businesses to create and manage channels, groups, and bots to broadcast messages, engage in conversations, and offer reliable customer support via bots. How to create a business channel on Telegram? (Tutorial) Telegram users themselves will be able to flag and report potentially false content.
from us


Telegram progway — программирование, IT
FROM American