NodeJS 检查器 - 使用 throwOnSideEffect 进行评估,并且 replMode 不返回任何内容
节点:v16.13.1 操作系统:macos 12.2 (Darwin Kernel Version 21.3.0)
以下情况下,evaluate 方法与 replMode
和 throwOnSideEffect
参数一起使用时不起作用任何事物。当单独设置 throwOnSideEffect
和 replMode
或提供不同的表达式(例如 1+1
)时,相同的方法可以完美地工作。评估一个不存在的变量似乎对 NodeJS 没有吸引力。我期待 ReferenceError
结果,但进程只返回 0。
我错误地使用了该函数,或者我错过了某些内容...?
const inspector = require('inspector');
const session = new inspector.Session();
session.connect();
function myEval(expression, throwOnSideEffect, timeout, replMode) {
session.post(
'Runtime.evaluate',
{ expression, throwOnSideEffect, timeout, replMode },
(err, res) => {
if (err) {
return console.error('err');
}
return console.log('works', res);
});
}
// does not work as expected when executed alone
myEval('doesNotExist', true, 200, true);
// works as expected
// myEval(exp, true, 200, false);
// works as expected
// myEval(exp, false, 200, true);
Node: v16.13.1 under OS: macos 12.2 (Darwin Kernel Version 21.3.0)
Under the following circumstance, the evaluate method when used with replMode
and throwOnSideEffect
parameters does not do anything. The same method works perfectly when throwOnSideEffect
and replMode
are set separately, or when a different expression is provided (such as 1+1
). Evaluating a non existing variable seems not being appealing to NodeJS. I am expecting an ReferenceError
result but instead the process just returns 0.
I am using the function wrong or I missed something... ?
const inspector = require('inspector');
const session = new inspector.Session();
session.connect();
function myEval(expression, throwOnSideEffect, timeout, replMode) {
session.post(
'Runtime.evaluate',
{ expression, throwOnSideEffect, timeout, replMode },
(err, res) => {
if (err) {
return console.error('err');
}
return console.log('works', res);
});
}
// does not work as expected when executed alone
myEval('doesNotExist', true, 200, true);
// works as expected
// myEval(exp, true, 200, false);
// works as expected
// myEval(exp, false, 200, true);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将节点升级到版本
v17.7.2
解决了该问题。Upgrading node to the version
v17.7.2
resolved the problem.