0
也许我在复制this问题,但提供的答案可能指的是较旧版本的节点(我使用的是v0.5.10),因为fs.writeSync(1, "Foo\n");
本身并不能解决我的问题(输出从一个shell脚本执行脚本时没有得到刷新)和fs.fsyncSync(1);
是not documented,当我尝试它节点上升例外:Node.js stdout flush
return binding.fsync(fd);
^
Error: UNKNOWN, Operation complete;
at Object.fsyncSync (fs.js:353:18)
at Interface.<anonymous> (C:\Dev\Git\org.github.pistacchio.streamcommunication\nodebot.js:36:12)
at Interface.emit (events.js:67:17)
at Interface._onLine (readline.js:162:10)
at Interface._line (readline.js:426:8)
at Interface._ttyWrite (readline.js:603:14)
at ReadStream.<anonymous> (readline.js:82:12)
at ReadStream.emit (events.js:88:20)
at ReadStream._emitKey (tty.js:309:10)
at ReadStream.onData (tty.js:66:12)
它不必被阻塞,一个on-flush回调就足够了,对吧? – thejh
我正在写一个控制台脚本,所以是的,它应该被阻止。为了我的目的,所有的异步调用都不是一件好事,而是一个问题。 – pistacchio