Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. # Асинхронность
  2.  
  3. Асинхронность о том, что происходит когда часть программы выполняется *сейчас*, а другая часть программы *позже*.
  4.  
  5. По факту, отношение между *сейчас* и *позже* — это и есть асинхронное программирование.
  6.  
  7. Рассмотрим такой пример:
  8.  
  9. ```js
  10.  
  11. function now() {
  12. return 21;
  13. }
  14.  
  15. function later() {
  16. answer = answer * 2;
  17. console.log( "Смысл жизни:", answer );
  18. }
  19.  
  20. let answer = now();
  21.  
  22. setTimeout( later, 1000 ); // Смысл жизни: 42
  23. ```
  24.  
  25. Данный код можно разделить на две части: ту, что запускается *сейчас* и ту, что запускается *позже*.
  26.  
  27. Сейчас:
  28.  
  29. ```js
  30. function now() { .. }
  31.  
  32. function later() { .. }
  33.  
  34. let answer = now();
  35.  
  36. setTimeout( later, 1000 );
  37. ```
  38.  
  39. Позже:
  40.  
  41. ```js
  42. answer = answer * 2;
  43. console.log( "Смысл жизни:", answer );
  44. ```
  45.  
  46. Часть "Сейчас" запускается по ходу выполнения программы.
  47.  
  48. Но ``setTimeout()`` откладывает событие, так что часть "Позже" произойдет через 1000 мс.
  49.  
  50. Каждый раз, когда мы оборачиваем часть когда в функцию и определяем, что функция должна запуститься в ответ на какое-либо событие (таймер, клик по кнопке на сайте, ajax запрос и т.п.), мы создаем часть *позже*, тем самым привносим **асинхронность** в нашу программу.
  51.  
  52. ## Как асинхронность реализуется в JS?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement