我遇到了一个小问题(实际上有好奇心的问题)。如果条件满足,是否可以创建一些条件,执行适当的代码?当然不使用setInterval和setTimeout。还是回调?也许是AJAX?
$(this._container).on('resize', this._onResize)
谢谢!
答案 0 :(得分:1)
如果您可以在对象中包装x
,则可以尝试使用setter模式:
var obj = {};
Object.defineProperty(obj, 'x', { set: function(xval) { /* do stuff; */ } });
// some time later in the code ...
obj.x = somevalue
// do stuff will fire
或者,在对象初始值设定项中:
var obj = {
set x(xval) {
// do stuff;
}
}
// some time later in the code...
obj.x = somevalue
// do stuff will fire
请注意,我们可以显式传递给回调的唯一(但是可选)值是我们将bound属性设置为(x
的值)的值。 (当然,您可以引用obj
范围内可以看到的任何内容。
另请参阅:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/set
答案 1 :(得分:0)
当一个函数依赖于另一个函数时,我只是做一个简单的回调。
var x;
function check_and_wait(callback) {
if (x != undefined) {
callback();
}
}
check_and_wait(function() {
//code goes here
});
答案 2 :(得分:-2)
使用promises的可能解决方案:
traverse(1)