【发布时间】:2021-11-21 15:18:31
【问题描述】:
我有一个自动创建的 JS 文件。我的模块调用它,有时自动创建的 JS 文件会导致无限循环。我会调用数千个自动创建的 JS 文件,有些会运行正确,但有些会导致无限循环,我不知道文件内容
==> 我想知道如何处理这个问题?
自动创建的 JS 文件示例。它命名为“excute.js”
const excuted = (a,b) => {
let i = 0;
while(a<b){
i++;
}
console.log(i);
}
module.exports = excuted();
例如我的模块 ==> 我想在这里处理无限循环错误
const {exec} = require("child_process");
const check = () => {
exec('node excute.js', (error, stdout, stderr) => {
if(error) {
console.log(error.message);
return;
}
console.log(stdout);
})
}
check();
我正在考虑在我的模块文件或自动创建的 JS 文件中使用 setTimeout。但我真的陷入困境和困惑!!!!谢谢大家
【问题讨论】:
-
excuted(); -
只是等待一段时间,如果没有完成则终止进程?!
-
您在
executed的什么地方更改了a和b的值?如果你不这样做,那么如果a<b一次为真,它将永远为真;您必须以某种方式更改函数executed中的参数值 -
@ASDFGerte 那是在谈论通用算法。在这种情况下,我们可以检查 a) 两个输入都是数字。 b) 两个输入不相等。完成。
标签: javascript error-handling infinite-loop child-process