Введение

Привет друзья, в этой статье мы обсудим синхронное и асинхронное программирование в JavaScript. Я знаю, что большинство людей уже слышали об использовании этого термина в JavaScript.

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

Оглавление

  1. Синхронное программирование в JavaScript
  2. Асинхронное программирование в JavaScript
  3. Разница между синхронным и асинхронным
  4. Заключение

Синхронное программирование в JavaScript

Все мы знаем, что JavaScript — это интерпретируемый язык, и код выполняется построчно. Таким образом, по умолчанию выполнение кода JavaScript является синхронным, что означает, что код запускается в определенной последовательности один за другим только после завершения программы.

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

Теперь давайте разберемся с синхронным программированием в JavaScript на нескольких примерах.

function first() {
    console.log(‘I am the first function’);
}
function second() {
    console.log('I am the second function');
    first();
}
second();

В приведенном выше примере мы объявили две функции: first() и second(), и теперь мы вызываем функцию second(), и это результат, который мы получаем.

Вывод

I am the second function
I am the first function

Теперь, если мы попытаемся понять порядок выполнения здесь, видя, что вывод является последовательным, я имею в виду, что вывод выполняется в определенной последовательности. Сначала он вызывает функцию second() и выводит вывод; после этого он вызывает функцию first() и печатает вывод.

Давайте теперь обсудим, что такое асинхронное программирование в JavaScript.

Асинхронное программирование в JavaScript?

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

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

Разберем это на примере,

setTimeout(function printMe() {
    console.log("Something is done.");
  }, 2000);

В приведенном выше примере мы видим, что у нас есть функция setTimeout(), и она принимает функцию обратного вызова с именем printMe. Эта функция обратного вызова будет выполняться всякий раз, когда операция setTimeout будет завершена, поэтому в нашем случае она будет выполняться через 2 секунды.

Теперь давайте разберемся с асинхронной операцией на простом примере,

console.log('1');
setTimeout(() => console.log('2'), 2000);
console.log('3');

Вывод

1
3
2

В приведенном выше примере кода, если мы видим вывод кода, мы замечаем, что после печати «1» «3» выводится в нашей консоли перед «2», и это из-за асинхронного выполнения кода здесь в в примере кода функция setTimeout() ожидает 2 секунды. Параллельно следующий оператор выполняется, не дожидаясь завершения предыдущего оператора. Вот почему мы говорим, что асинхронная операция — это неблокирующая операция, поскольку она не блокирует основной поток выполнения.

В чем разница между синхронным и асинхронным?

Теперь дайте нам знать разницу между синхронным и асинхронным программированием.

Синхронное программирование

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

Асинхронное программирование

  • Параллельное выполнение. В асинхронном программировании код выполняется одновременно, даже если текущий код выполняется; другие коды могут выполняться параллельно, даже не дожидаясь завершения текущего кода.
  • Неблокирующий характер. Операции являются неблокирующими по своей природе, поскольку они не блокируют поток выполнения программы. Когда конкретная операция запускается, программа может продолжать выполнять другой код или оператор, и для обработки результата или продолжения операции требуется функция обратного вызова, обещание или синтаксис async/await.
  • Модель, управляемая событиями. Асинхронное программирование чаще всего опирается на модели, управляемые событиями, что означает, что функции вызываются или запускаются автоматически в ответ на определенное событие или всякий раз, когда завершаются асинхронные операции, что делает модель отзывчивый

Заключение

В этой статье мы обсудили синхронное и асинхронное программирование и различия между ними, и мы можем сделать вывод, что синхронное и асинхронное программирование имеют свою важность в зависимости от ситуации или задачи, в которой мы участвуем, если мы хотим строго ждать. для выполнения определенной операции, а затем мы хотим запустить определенный набор операторов, мы можем использовать синхронное программирование, а там, где нам нужно выполнить несколько операций, мы должны использовать асинхронное программирование.

👋🏻 👋🏻 Привет, если вы здесь, свяжитесь со мной

Instagram/Twitter/LinkedIn