在 Node.js 中,我使用 child_process 模块的 exec 命令来调用一个Java算法,并将大量文本返回到标准输出,然后进行解析和使用。我基本上能够捕获它,但是当它超过一定数量的行数时,内容会被截断。
exec("sh target/bin/solver "+fields.dimx+" "+fields.dimy, function(error, stdout, stderr){
//do stuff with stdout
}
我尝试过使用setTimeout和回调函数,但是没有成功,我觉得这是因为在代码中引用了stdout,但stdout尚未完全检索完成。我已经测试了stdout确实是数据丢失的第一个发生位置,不是在后面的异步问题。我还在本地机器和Heroku上测试过,每次都会在精确相同的行号处截断。
有什么想法或建议可以帮忙解决吗?