我正在尝试用node.js为adb logcat命令编写一个接口,并且需要一些帮助才能让我的函数执行连续和异步回调。这个命令生成常量输出,我希望在它生成时发送给回调函数(而不是在我让它运行一段时间然后停止它之后)。使用node.js可以做到这一点吗?如果可以,我该如何做到?
到目前为止,以下是我的代码
exports.logcat = function(options, callback){
var logcatCmd = "adb logcat" + options;
console.log("sending command: " + logcatCmd);
exec(logcatCmd, function(error, stdout, stderr){
if(error !== null){
console.log("encountered error = " + error);
}
callback(stdout);
});
};发布于 2013-05-31 12:58:57
简而言之,不可以;您不能为新输出watch shell命令,就像您可以从更改的文件或套接字流式传输数据一样。
如果它生成常量输出,它更有可能只是从一些日志文件中读取并在屏幕上打印出来。您应该找出它从哪个文件获取数据,并结合使用fs.watch和readableStream来连续获取数据流。
https://stackoverflow.com/questions/16846820
复制相似问题