我正在尝试理解JavaScript异步函数和回调函数。
我卡在回调函数的概念上,有些地方写道:它们用于代码的顺序执行(大多数情况下是在jQuery中,例如动画),而在Node.js的上下文中特别是用于并行执行异步操作以避免代码阻塞。
因此,这个话题中的一些专家能否给出例子,以便我可以搞清楚这个问题并理解如何使用回调函数。
或者这完全取决于您在代码中调用/放置回调函数的位置?
谢谢!
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 之后执行。