Javascript Node.js:console.err()是同步的还是异步的?
我使用AWS,希望使用Javascript Node.js:console.err()是同步的还是异步的?,javascript,node.js,event-loop,Javascript,Node.js,Event Loop,我使用AWS,希望使用console.err()将所有错误写入stderrstderr被AWS云监视捕获并记录。我不想阻塞事件循环 Node.js实现中的console.err()是异步的吗?出于教育目的,我将演示如何检查它,以便您下次无需询问。 以下是在最基本的情况下测试代码是否异步的方法: const asyncOperation=async()=>{ 等待新的承诺((res)=>setTimeout(res,1000)) log(“异步完成”) } console.log(“开始”) 异
console.err()
将所有错误写入stderr
stderr
被AWS云监视捕获并记录。我不想阻塞事件循环
Node.js实现中的
console.err()
是异步的吗?出于教育目的,我将演示如何检查它,以便您下次无需询问。
以下是在最基本的情况下测试代码是否异步的方法:
const asyncOperation=async()=>{
等待新的承诺((res)=>setTimeout(res,1000))
log(“异步完成”)
}
console.log(“开始”)
异步操作()
console.log(“End”)
出于教育目的,我将演示如何检查它,以便下次您无需询问。
以下是在最基本的情况下测试代码是否异步的方法:
const asyncOperation=async()=>{
等待新的承诺((res)=>setTimeout(res,1000))
log(“异步完成”)
}
console.log(“开始”)
异步操作()
console.log(“End”)
它取决于操作系统和stderr
的“去向”
发件人:
process.stdout
和process.stderr
与其他Node.js流的重要区别在于:
console.log()
和console.error()
在内部使用
- 文件:在Windows和POSIX上同步
- TTYs(终端):在Windows上异步,在POSIX上同步
- 管道(和套接字):在Windows上同步,在POSIX上异步
它取决于操作系统和
stderr
的“去向”
发件人:
process.stdout
和process.stderr
与其他Node.js流的重要区别在于:
console.log()
和console.error()
在内部使用
- 文件:在Windows和POSIX上同步
- TTYs(终端):在Windows上异步,在POSIX上同步
- 管道(和套接字):在Windows上同步,在POSIX上异步
为什么这很重要?日志记录可能不是应用程序的瓶颈。console.xxx()的一部分是同步的和阻塞的,一旦数据传递到另一个线程,其余部分是异步的。这有什么关系?日志记录可能不是应用程序的瓶颈。console.xxx()的一部分是同步的和阻塞的,一旦数据传递到另一个线程,其余部分是异步的。