«Время - иллюзия» - Карло Ровелли.

JavaScript

  • JavaScript - это однопоточный язык, однопроцессный или от начала до конца.
  • JavaScript выполняет все по порядку, независимо от размера кода.

Асинхронизация и синхронизация

В программировании мы можем упростить определение синхронного кода как «последовательность операторов в последовательности»; поэтому каждый оператор в вашем коде выполняется один за другим. Это означает, что каждый оператор должен ждать завершения выполнения предыдущего.

  • Синхронная строка кода выполняется в том порядке, в котором асинхронная строка кода выполняется после
  • Синхронная функция

console.log («Первый»);

console.log («Второй»);

console.log («Третий»);

Приведенные выше операторы будут выполняться по порядку, выводя на консоль «Первый», «Второй», «Третий». Это потому, что оно написано синхронно.

  • Асинхронная функция

console.log («Первый»);

setTimeout (функция () {console.log (‘Last’)}, 0);

console.log («Второй»);

console.log («Третий»);

Приведенные выше операторы будут выполняться по порядку, выводя на консоль «Первый», «Второй», «Третий», «Последний». Это потому, что он написан асинхронно.

Почему асинхронный?

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

В итоге

Итак, чтобы резюмировать,

  • Синхронный код выполняется последовательно.
  • Каждый оператор ожидает завершения предыдущего оператора перед выполнением.
  • Асинхронный код не должен ждать, но исполняемое значение будет следовать за синхронным кодом.
  • Вы делаете это, чтобы ваш сайт или приложение оставалось отзывчивым, сокращая время ожидания для пользователя.