我有些困惑于理解异步和同步Javascript之间的区别,希望有人能够解释一下。
我知道Javascript本质上是同步的,但你可以使用异步事件/回调来改变程序流程。然而,如果你调用一个不带回调的函数,其中包含AJAX,会发生什么呢?
例如,如果我有以下代码,其中
另外,如果
我知道Javascript本质上是同步的,但你可以使用异步事件/回调来改变程序流程。然而,如果你调用一个不带回调的函数,其中包含AJAX,会发生什么呢?
例如,如果我有以下代码,其中
foo()
包含某种服务器查询,foobar()
包含输出文本:foo();
foobar();
foo()
内部逻辑执行完毕前,foobar()
会被调用吗?还是浏览器会等待foo()
完全执行完毕再调用foobar()
?(看似简单,但我的困惑源于回调函数,是否必须在所有情况下使用回调函数来控制程序流程,例如foo(foobar)
是否总是必要的。)另外,如果
foo()
包含一个在客户端快速执行但需要较长时间在服务器上处理的服务器调用,那么回调是唯一的方法,使得程序能够等待foo()
完全执行结束后再继续执行吗?