2 回答
TA贡献1798条经验 获得超7个赞
这取决于操作系统以及stderr
“去向”的位置。
process.stdout
并且process.stderr
在重要方面与其他 Node.js 流不同:
它们分别由
console.log()
和内部使用console.error()
。写入可能是同步的,具体取决于流连接到什么以及系统是 Windows 还是 POSIX:
文件:在 Windows 和 POSIX 上同步
TTY(终端):在 Windows 上异步,在 POSIX 上同步
管道(和套接字):在 Windows 上是同步的,在 POSIX 上是异步的
TA贡献1982条经验 获得超2个赞
出于教育目的,我将演示如何检查它,这样你下次就不需要问了。这是在最基本的情况下测试代码是否异步的方式:
const asyncOperation = async () => {
await new Promise( (res) => setTimeout(res, 1000))
console.log("Async finished")
}
console.log("Start")
asyncOperation()
console.log("End")
因此,如果您运行它,您将看到它首先打印“End”,然后再打印“Async finished”,因为 setTimeout 是异步的。
所以我会为你的情况添加新的剪辑,所以你知道。
const asyncOperation = () => {
console.error("Async Err?")
}
console.log("Start")
asyncOperation()
console.log("End")
运行它,你会看到。你也可以在Node环境下试试,结果是一样的。
听听@jonas-wilms 他是对的,记录速度非常快
添加回答
举报