Когда вызывается функция обратного вызова, делает ли она обратный вызов синхронным?
обратный вызов - это функция асинхронная, верно? когда мы посылаем функцию в качестве аргумента и вызываем обратный вызов, всегда ли это делает функцию обратного вызова синхронной? Если я получаю ответ "да", то у меня нет сомнений в обратном вызове. так помоги же мне, прав я или нет?
Что я уже пробовал:
function a() { setTimeout(function() { console.log("hi") }, 5000) } function b() { console.log("hello"); } a(); b();
// привет
// через 5 секунд Привет
который находится в асинхронном режиме
НО
function a(callback) { setTimeout(function() { console.log("hi"); callback(); }, 5000) } function b() { console.log("hello"); } a(b);
// через 5 секунд Привет
// привет
Вот как это работает все время?
Является ли функция обратного вызова все время синхронной?