考虑下面的这个node.js
应用程序:
var spawn = require('child_process').spawn,
dir = spawn('dir', ['*.txt', '/b', '/s']);
dir.stdout.on('data', function (data) {
//(A)
console.log('stdout: ' + data);
});
在 (A) 中,on data
事件等待stdout
输出,我们可以想象输出来自cmd /c dir *.txt /b /s
.
但它不会发生。在data
变量中,stdout
输出包含多行,并且要处理每个文件路径的内容,我们必须用 CRLF ( \r\n
) 分割。为什么会发生这种情况?