setTimeout在递归循环中具有动态持续时间

时间:2015-06-30 17:53:10

标签: javascript

我想编写一个异步捕获对象的代码,因此需要等待一段时间。当它获得对象时,它停止等待并继续前进。到目前为止,我所拥有的是:

function captureObject(obj,id) {
    var i =1;
    while (obj.value === '' && i<10) {
        i++;
        (function(i,obj) {
            setTimeout(
                function() { 
                    if(obj.value === '') {
                        // do stuff here
                        return true;
                    }
                    return false;
                },
                1000 * i
            );
        })(i,obj);
    }
}

基本上我想实现:如果obj.value是一个空字符串,请等待它达到10秒并返回true。如果在10秒内获得了某些内容,请返回false。但是代码不起作用。

有什么建议吗?

0 个答案:

没有答案