JavaScript 中的同步和异步
同步JavaScript:顾名思义,同步意味着按顺序排列,即代码的每条语句都被一条一条地执行。所以,基本上一个语句必须等待前面的语句被执行。
让我们借助一个例子来理解这一点。
例子:
输出:
在上面的代码片段中,首先记录代码Hi
的第一行,然后记录第二行Mayukh
,然后在完成后,记录第三行How are you
。
所以我们可以看到代码按顺序工作。每一行代码都等待它的前一个代码首先被执行,然后它被执行。
异步 JavaScript:异步代码允许程序立即执行,而同步代码将阻止剩余代码的进一步执行,直到它完成当前代码。这可能看起来不是一个大问题,但是当您从更大的图景中看到它时,您会意识到它可能会导致延迟用户界面。
让我们看看异步 JavaScript 是如何运行的示例。
输出:
因此,代码所做的是首先登录Hi
然后而不是执行setTimeout
函数,它登录End
然后运行setTimeout
函数。
起初,像往常一样, Hi
语句已登录。当我们使用浏览器运行 JavaScript 时,有 Web API 为用户处理这些事情。因此,JavaScript 所做的是,它在此类 Web API 中传递setTimeout
函数,然后我们继续像往常一样运行我们的代码。因此它不会阻止其余代码执行,并且在执行完所有代码之后,它会被推送到调用堆栈,然后最终被执行。这就是异步 JavaScript 中发生的情况。