2 回答

TA貢獻1798條經(jīng)驗 獲得超7個贊
這取決于操作系統(tǒng)以及stderr
“去向”的位置。
process.stdout
并且process.stderr
在重要方面與其他 Node.js 流不同:
它們分別由
console.log()
和內(nèi)部使用console.error()
。寫入可能是同步的,具體取決于流連接到什么以及系統(tǒng)是 Windows 還是 POSIX:
文件:在 Windows 和 POSIX 上同步
TTY(終端):在 Windows 上異步,在 POSIX 上同步
管道(和套接字):在 Windows 上是同步的,在 POSIX 上是異步的

TA貢獻1982條經(jīng)驗 獲得超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環(huán)境下試試,結(jié)果是一樣的。
聽聽@jonas-wilms 他是對的,記錄速度非常快
添加回答
舉報