Я пытаюсь понять асинхронные функции и обратные вызовы Javascript.
Я застрял в концепции функций обратного вызова, где я читаю в некоторых местах: они используют для последовательного выполнения кода (в основном в контексте jquery eimate animate) и некоторых мест специально в контексте Nodejs; они используют для параллельного выполнения асинхронного и избегают блокировки кода.
Так может ли кто-нибудь из экспертов в этой теме пролить свет на это и очистить этот пух в моем сознании (примеры?). поэтому я мог бы подумать об использовании функции обратного вызова
или это зависит только от места, где вы звоните/размещаете функцию обратного вызова в своем коде?.
Спасибо,
P.S: Я боюсь, что этот вопрос будет близок как субъективный, но все же я мог бы ожидать конкретного ответа для этого (возможно, некоторых примеров)
Изменить: На самом деле это пример из Интернета, который делает меня двусмысленным:
function do_a(){
// simulate a time consuming function
setTimeout( function(){
console.log( '`do_a`: this takes longer than `do_b`' );
}, 1000 );
}
function do_b(){
console.log( '`do_b`: this is supposed to come out after `do_a` but it comes out before `do_a`' );
}
do_a();
do_b();
Результат
`do_b`: this is supposed to come out after `do_a` but it comes out before `do_a`
`do_a`: this takes longer than `do_b`
когда JS является последовательным, тогда do_b всегда следует после do_a в соответствии с моим пониманием.