JavaScript
Асинхронное и синхронное какая разница между ними?
Асинхронная функция стартует в отдельном потоке, а сама программа продолжается, как ни в чём не бывало. Очевидно, чтобы вернуть результат, должно сработать какое-то событие.
Синхронное: весь код выполняется последовательно, как написан. Каждое следующее действие выполняется только после того, как полностью завершится предыдущее действие.
Асинхронное: происходит запуск действия, но основной код не дожидается окончания его выполнения, а продолжает свою работу. При запуске асинхронного действия ему передаётся callback-функция, которая автоматически вызывается при завершении действия.
Ситуации, когда внутри асинхронных действия вызываются другие асинхронные действия приводят в появлению крайне запутанного и хрупкого кода, для которого есть специальный термин: Callback Hell. Чтобы решить эту проблему, придумали способы записи асинхронного кода, который выглядит как синхронный и не требует вложенной записи асинхронных вызовов: это обещания (промисы, promise) и async/await.
P.S. Асинхронными являются AJAX-запросы к серверу, запуск кода по таймеру (setTimeout и setInterval) и т.п.
Асинхронное: происходит запуск действия, но основной код не дожидается окончания его выполнения, а продолжает свою работу. При запуске асинхронного действия ему передаётся callback-функция, которая автоматически вызывается при завершении действия.
Ситуации, когда внутри асинхронных действия вызываются другие асинхронные действия приводят в появлению крайне запутанного и хрупкого кода, для которого есть специальный термин: Callback Hell. Чтобы решить эту проблему, придумали способы записи асинхронного кода, который выглядит как синхронный и не требует вложенной записи асинхронных вызовов: это обещания (промисы, promise) и async/await.
P.S. Асинхронными являются AJAX-запросы к серверу, запуск кода по таймеру (setTimeout и setInterval) и т.п.
Пример асинхронного программирования в JavaScript это промисы.
Then выполняется после того, как функция завершится
Следующая строчка кода const i = 100 не ожидает завершения функции и выполняется сразу же.
Также при асинхронном программировании можно применять async await.
Другой пример асинхронного программирования, это Event'ы, события. Например, когда ты нажимаешь на кнопку. Асинхронное выполнение кода не равно параллельное. В однопоточном режиме, а в JavaScript многое выполняется в однопоточном режиме, код тоже выполняется асинхронно, даже если поочередно.
doSomeThing().Then(o => console.log(o));
const i = 100;
Функция doSomeThing это асинхронная операция, которая выполняется асинхронно.Then выполняется после того, как функция завершится
Следующая строчка кода const i = 100 не ожидает завершения функции и выполняется сразу же.
Также при асинхронном программировании можно применять async await.
const doSomeThingPromise = doSomeThing();
const i = 100;
const o = await doSomeThingPromise;
console.log(o);
Здесь await тоже ожидает завершения функции doSomeThing.Другой пример асинхронного программирования, это Event'ы, события. Например, когда ты нажимаешь на кнопку. Асинхронное выполнение кода не равно параллельное. В однопоточном режиме, а в JavaScript многое выполняется в однопоточном режиме, код тоже выполняется асинхронно, даже если поочередно.
Плавание?
Вячеслав Сулима
двигатель?
Ну обычно выполняешь функцию и она сразу возвращает значение его можно использовать уже в следующей строчке кода а с асинхроном не так. Там запускаешь функцию а значение вернётся значительно позже (например когда сервер вернёт результат или пользователь закроет окно ) по этому в следующей строчке после вызова этой функции значение которое она возвращает будет пустым а заполнится оно только тогда когда выполнится асинхронная функция чтобы код ждал выполнения асинхронной функции в месте ее вызова можно написать await или .then () или передать колбек который обычно асинхронные функции принимают по умолчанию и возвращают результат туда
в рассонхрицизации
Синхронное - это синхронное, а асинхронное - это не синхронное
Похожие вопросы
- Что такое асинхронный код?
- Сравниваю циклы while и for и хочу понять разницу между ними. Они выполняют условно одно и тоже. Это вся разница?
- В чем разница C++ и Java-Script
- Чем отличается filter от map? Не вижу разницы
- В чем разница между Js и Java?
- в чем разница между асинхронным и синхронный двигателям???
- синхронный и асинхронный двигатель. В чем разница и приемущество.
- чем отличается асинхронный и синхронный двигатели ?
- Какой эл. двигатели стоят в дрелях в перфораторах в пылесосах? Асинхронные или синхронные ?
- Где используется асинхронный и синхронный двигатель в строительстве? Развернутый ответ пожалуста