我看到了如何使用Node将内容管道连接在一起.js流,但是如果其中一些脚本可以是异步的,那么如何使用Unix |
将多个脚本管道连接在一起呢?
$ ./a.js | ./b.js
例子:
a.js(chmod 0755)
#!/usr/bin/env node
setTimeout(function(){
console.log(JSON.stringify({ foo: 'bar' }));
}, 10);
b.js(chmod 0755)
#!/usr/bin/env node
console.log(process.argv);
这是输出:
$ ./a.js | ./b.js
[ 'node', '/Users/viatropos/tests/b.js' ]
events.js:72
throw er; // Unhandled 'error' event
^
Error: write EPIPE
at errnoException (net.js:883:11)
at Object.afterWrite (net.js:700:19)
乍一看似乎有很多地方出了问题,所以不确定从哪里开始.有没有办法让它发挥作用?最终目标是能够将./a.js
的console.log
输出用于./b.js
.原因是,大多数情况下,这些脚本将一次运行一个,但有时能够将它们连接在一起会很好,因此理想情况下,系统应该能够处理这两种情况.