对于熟悉该主题的人来说,这可能是一个基本问题。考虑以下玩具程序:
const fs = require('fs');
process.stdout.on('data', (chunk) => {
fs.writeFileSync('myfile.txt', chunk, 'utf-8'); // just an example
});
process.stdout.write('xyz');
Run Code Online (Sandbox Code Playgroud)
如果我按原样运行此代码,则会收到以下错误:
errno: -4053,
code: 'ENOTCONN',
syscall: 'read'
Run Code Online (Sandbox Code Playgroud)
我已经不明白为什么会发生这种情况。但事情变得更奇怪了:
console.log()当我运行前面带有 a 的代码时,不再抛出任何错误!但是,我为该事件定义的侦听器data在这种情况下似乎不会执行,因为没有创建文本文件。
有人可以向我解释为什么会发生这种情况以及我可以做什么来获得预期结果(此处写入 myfile.txt)?