假设我有一个隐喻的患者,他的心脏每秒跳动一次,然后每秒检查一次他的最后一次心跳是否晚于5秒(如果有,则宣布他处于危险中):
let lastHeartbeat = Date.now();
// Heartbeater
setInterval(() => lastHeartbeat = Date.now(), 1000);
// Health-checker
setInterval(
() => {
if((Date.now() - lastHeartbeat) > 5000){
alert("Patient has flatlined");
}
},
1000
);
如果我在某个时候使用调试器暂停了该脚本的执行,那么我会遇到一个问题:如果我在断点上停留了五秒钟以上,那么一旦脚本执行恢复,我的运行状况检查器功能就可以确定了宣布患者已经平坦。
相反,我想将调试器中花费的时间考虑在内。
即,如果我在初次心跳发生后花了二十秒钟坐在一个断点上,而病人的心在释放该断点后一秒钟之内又跳动了,那么该病人应该不被宣布作为扁平化。
是否可以从运行状况检查条件中减去在调试器中花费的时间?例如:
if((Date.now() - lastHeartbeat - lastTimeSpentInDebugger) > 5000)
注意: 我专门在Node.js中而不是在浏览器中运行JS。