对于node.js
var timer = setInterval(function(){console.log('hi')},1000);
var notATimer = {};
var number = 2;
detectTimer(timer) //returns true
detectTimer(notATimer) //returns false
detectTimer(number) //returns false
有什么方法可以可靠地确定一个对象是否是一个间隔?另外,如果检测它的方法也适用于setTimeout,则奖励积分。
在nodejs中,setTimeout
并setInterval
返回Timeout
实例。该构造函数不会导出,但是您仍然可以访问它并使用它来检测计时器对象:
const Timeout = setTimeout(function(){}, 0).constructor;
function isTimer(t) { return t instanceof Timeout; }
如果您不想这样做,还可以通过测试对象具有的属性来使用鸭子类型。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句