Size: a a a

2020 November 02

DE

Denis Efremov in JS Liberty
Wembley
отложенный стек вызовов который предоставляется окружением, в данном случае браузером
Что такое стек вызовов?
источник

p

persona x grata in JS Liberty
КОНЦЕПЦИИ СРЕЛЫ ВЫПОЛНЕНИЯ

/ СТЭК ВЫЗОВОВ (CALL STACK)

Вызов любой функции создает контекст выполнения (Execution Context). При вызове вложенной функции создается новый контекст, а старый сохраняется в специальной структуре данных - стеке вызовов (Call Stack).
источник

W

Wembley in JS Liberty
хотя исходя из картинки, это те элементы которых нет в обычном JS
источник

p

persona x grata in JS Liberty
ОЧЕРЕДь(QUEUE)

Среда выполнения JS использует очередь задач, которая представляет собой список задач подлежащих обработке. Каждая задаса ассоциируется с некоторой функцией, которая будет вызвана для обработки данной задачи.

В ходе выполнения цикла событий, среда выполнения обрабатывает задачи из очереди, начиная с первоприбывшей в очередь. Первая пришла - первая обработана. Таким образом, выполненная задача удаляется из очереди и соответствующая ей функция будет вызвана с содержанием задачи в качесве входящего параметра. Естественно, вызов функции создает новый кадр стэка вызовов, используемый функцией. Обработка функций продолжается пока очеред задач не станет пуста. Далее, цикл событий продолжает постоянно просматривать очередь в ожидании поступления новых задач для обработки.
источник

DE

Denis Efremov in JS Liberty
Это под капотом, а мы хотим понять как работает промис
источник

W

Wembley in JS Liberty
промис это просто красивая обёртка
источник

p

persona x grata in JS Liberty
источник

p

persona x grata in JS Liberty
а в Ноде такие есть фазы
источник

W

Wembley in JS Liberty
о, видел эту пикчу
источник

DE

Denis Efremov in JS Liberty
Wembley
промис это просто красивая обёртка
Чего обертка?
источник

W

Wembley in JS Liberty
вчера как раз, когда наду изучал
источник

W

Wembley in JS Liberty
Denis Efremov
Чего обертка?
не так выразился, — синтаксический сахар во избежания антипаттерна callback hell
источник

p

persona x grata in JS Liberty
Wembley
промис это просто красивая обёртка
Промис это объект представляющий успешное или провальное событийное завершение асинхронной операции. Это обертка для значения, которое пока еще неизвестно и ожидается в будущем. Путем "чейнинга" к промису присоединяется метод then(), который принимает в качестве аргумента коллбек функцию, которая обрабатывает возвращенный результат промиса. Метод then() может быть вызван множество раз в цепи чейнинга, каждый колбек будет выполнен один за другим в порядке очереди добавления в цепь. Промис гарантирует, что колбек не будет вызван до завершения текущего запуска цикла событий (Event Loop).

Цепочка промисов (Promise chain) позволяет выполнить две или более асинхронных операций по очереди, где последуюшая операция стартует только после завершения предыдущей операции, и результат ее выполнения передается в следующее звено цепи.
источник

DE

Denis Efremov in JS Liberty
Wembley
не так выразился, — синтаксический сахар во избежания антипаттерна callback hell
Синтаксический сахар для чего?
источник

DE

Denis Efremov in JS Liberty
Что сластят то?
источник

W

Wembley in JS Liberty
для асинхронности
источник

DE

Denis Efremov in JS Liberty
Wembley
для асинхронности
А что это такое и для чего она нужна?
источник

W

Wembley in JS Liberty
асинхронность — коллбэки которые не могут выполниться прямо сейчас, она нужна что бы отложить их выполнение и не стопорить ивент луп
источник

p

persona x grata in JS Liberty
Wembley
асинхронность — коллбэки которые не могут выполниться прямо сейчас, она нужна что бы отложить их выполнение и не стопорить ивент луп
А если я сделаю таймаут в 1 сек, то он выполнится точно через заданное время?
источник

W

Wembley in JS Liberty
нет
источник