Javascript是一种不错的语言,可以很好地与异步回调,超时,间隔和用户事件一起使用,但没有任何并发问题。这是可能的,因为Javascript本质上是单线程的-
给定的代码段始终是原子执行的,并且永远不会被运行Javascript的另一个线程中断。
您的
fetch()函数将始终不间断地执行。如果它是作为AJAX回调的一部分执行的,并且有多个AJAX回调未决,则它们将排队。
另一个例子:如果您为输入元素分配了事件处理程序,并且一次触发了多次事件,则事件处理程序将不会同时执行。而是将它们排队并按顺序执行。这也适用于
setTimeout()/
触发的多个事件
setInterval()。
附带说明:这是node.js如此强大的原因之一:它仅使用单线程,并且从不在I /
O上阻塞,而是在数据准备就绪/事件发生时使用回调。



