JS“尽快”的条件

时间:2017-08-24 21:38:38

标签: javascript

我遇到了一个小问题(实际上有好奇心的问题)。如果条件满足,是否可以创建一些条件,执行适当的代码?当然不使用setInterval和setTimeout。还是回调?也许是AJAX?

$(this._container).on('resize', this._onResize)

谢谢!

3 个答案:

答案 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)