Что такое промисы (Promises) в JS и как они работают?
Готовлюсь к собеседованиям и систематизирую знания, сегодня — промисы.
Если говорить просто, промис — это специальный объект, который представляет собой "обещание" на какое-то будущее значение.
Представьте, что вы заказали еду с доставкой. Вам сразу дают чек (промис), который гарантирует, что еда либо будет доставлена, либо вам сообщат, что заказ отменили.
У промиса есть три возможных состояния. Первое — pending ('в ожидании'), когда ваш заказ только готовят. Второе — fulfilled ('выполнено'), когда курьер уже у вашей двери с едой. И третье — rejected ('отклонено'), если, например, пицца сгорела и заказ отменили.
Самая большая сила промисов в том, что они позволяют работать с асинхронным кодом аккуратно и последовательно. Вместо "ада callback'ов" мы можем использовать цепочки .then() для обработки успеха и .catch() для обработки ошибок.
#вопросы_для_собеседования #javascript #frontenddevelopment #войтивайти #асинхронность