我有一些支持在浏览器上运行的JavaScript基准代码。但是我想在V8的'd8'之类的JavaScript引擎的控制台模式下运行它以进行测试。
我为每个DOM变量和函数编写了空变量和函数(例如document.getElementById
等)。但我无法完全运行代码,因为浏览器不支持setTimeout()
和setInterval()
,而是来自V8引擎。有没有办法在纯JavaScript代码中实现或简单地模拟这些函数?
我感谢任何评论。
答案 0 :(得分:3)
你不能只用V8 +一些JS,你必须在某种支持定时器的运行时中嵌入JS引擎。对于V8,例如zombie.js。
答案 1 :(得分:2)
让我们来看看它是如何在节点timers.js
.中实现的。您可以在line #24看到timer_wrap
绑定已注册。这个“内部模块”只是一个 C 库,为 js 模块提供时间操作。这意味着 js 计时器实现基于“上层”的某些模块,遗憾的是无法在“pure js”中实现。