我正在开发 JavaScript 代码编辑器,用户可以在其中在浏览器中编写自己的 JavaScript 代码并运行它。我需要找到一种方法来打破无限循环。当我得到代码时:
while (1) {
doSomething();
}
我想将代码转换成这样的:
var start = Date.now();
while (1) {
if (Date.now() - start > 1000) { break; }
doSomething();
}
我偶然发现了 Web-Maker,它的功能正是如此。我无法获得转换传入代码的函数。我已经尝试过addInfiniteLoopProtection('while (1) doSomething()', { timeout: 1000 })
,但它返回'while (1) doSomething()'
而不是更改代码以跳出无限循环。