Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Асинхронность
- Асинхронность о том, что происходит когда часть программы выполняется *сейчас*, а другая часть программы *позже*.
- По факту, отношение между *сейчас* и *позже* — это и есть асинхронное программирование.
- Рассмотрим такой пример:
- ```js
- function now() {
- return 21;
- }
- function later() {
- answer = answer * 2;
- console.log( "Смысл жизни:", answer );
- }
- let answer = now();
- setTimeout( later, 1000 ); // Смысл жизни: 42
- ```
- Данный код можно разделить на две части: ту, что запускается *сейчас* и ту, что запускается *позже*.
- Сейчас:
- ```js
- function now() { .. }
- function later() { .. }
- let answer = now();
- setTimeout( later, 1000 );
- ```
- Позже:
- ```js
- answer = answer * 2;
- console.log( "Смысл жизни:", answer );
- ```
- Часть "Сейчас" запускается по ходу выполнения программы.
- Но ``setTimeout()`` откладывает событие, так что часть "Позже" произойдет через 1000 мс.
- Каждый раз, когда мы оборачиваем часть когда в функцию и определяем, что функция должна запуститься в ответ на какое-либо событие (таймер, клик по кнопке на сайте, ajax запрос и т.п.), мы создаем часть *позже*, тем самым привносим **асинхронность** в нашу программу.
- ## Как асинхронность реализуется в JS?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement