gpt4 book ai didi

javascript - 使用 Node.js 以编程方式运行 JavaScript

转载 作者:太空宇宙 更新时间:2023-11-04 02:37:46 24 4
gpt4 key购买 nike

我需要以编程方式(在 Java 中)使用 Node.js 运行 JavaScript 并读取错误。有两种方法:

  1. 调用 node -e <javascript>
  2. 将 JavaScript 保存到临时文件,并调用 node temp.js

它们有何不同?

似乎第一种方法更有效,但是当我运行类似的东西时

process.on('uncaughtException', function(err) {
console.error(typeof(err));
});
function x_5(x_6, x_7) {
var x_8 = Infinity;
}
throw x_5;

打印

[eval]:8
throw x_5;
^
function

但我想要的只是最后一行。第二种方法只给了我最后一行。因此,我试图了解这两种方法有何不同,以及如何消除不必要的错误消息。

最佳答案

如您所见,node -e script 会将异常转储到 stderr,以便您可以将结果打印到 stdout。

console.log 而不是 console.error

process.on('uncaughtException', function(err) {
console.log(typeof(err));
});

在java端,从stdout获取结果,忽略stderr

String[] command = {"node", "-e", js};
Process p = Runtime.getRuntime().exec(command);
InputStream in = p.getInputStream();
for (int i = 0; i < in.available(); i++) {
System.out.println("" + in.read());
}

关于javascript - 使用 Node.js 以编程方式运行 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20528398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com