所以在客户端javascript中的异步编程是setTimeOut在浏览器API中运行,所以它不会阻塞javascript单线程。由于Node中没有浏览器API,那么谁来运行代码的异步部分呢?C还是C++?
发布于 2020-09-01 10:43:30
首先,node.js包括一个运行时环境,其中包括V8 Javascript引擎,一个称为libuv的跨平台库(用C/C++编写),以及一个包含各种附加函数的库,这些函数不是标准Javascript定义的一部分,用于进行联网、加密、文件系统访问等。这些库函数中的许多都是用Javascript和C++的组合编写的。
node.js中的异步操作都来自用C/C++编写的nodejs运行时库。这包括所有类型的东西,如setTimeout()、用于访问文件的整个fs库、用于进行网络连接的net库等等。
https://stackoverflow.com/questions/63680494
复制相似问题