在javascript中我知道我们可以观察属性更改,但可以观看功能吗?
如果我有一个评估为boolen的函数
function eval(value) {
return value == 1;
}
是否可以连续评估此功能直到真实?
我知道setTimeout可以工作,但这似乎是一个黑客。还有更好的方法吗?
答案 0 :(得分:0)
有两种主要的可能方式,第一种是你的,setTimeout。第二个是setInterval:
var checkEval = setInterval(function(){eval(value)},1000);
你可以使用:
结束它clearInterval(checkEval);
答案 1 :(得分:0)
用包装器替换该功能
function something(){
return value==1;
}
(function(window){
var oldSomething = window.something;
window.something = function(){
var result = oldSomething.apply(null,arguments);
if(result===true){
//do what you need
}
return result;
};
})(window);