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?
- в чем разница между асинхронным и синхронный двигателям???
- синхронный и асинхронный двигатель. В чем разница и приемущество.
- чем отличается асинхронный и синхронный двигатели ?
- Какой эл. двигатели стоят в дрелях в перфораторах в пылесосах? Асинхронные или синхронные ?
- Где используется асинхронный и синхронный двигатель в строительстве? Развернутый ответ пожалуста
 
			 
						 
						 
						 
						