如何等待Array填充(异步)

Wee*_*djo 6 javascript jquery

我有一个异步填充的数组,包含28个项目.我想等到阵列充满所有项目.

function checkIfFinished(){
    return(Results.length >= 28);
}

var isfinished = false;
while(isfinished){
    if(checkIfFinished()){
        returnResults();
        isfinished = true;
    }
    else
        //Wait 100ms 
}
Run Code Online (Sandbox Code Playgroud)

好吧,但在Javascript中没有等待功能!我尝试使用setTimeout,但我不知道如何插入它...我只是因为太多的递归和东西而得到错误:D

谢谢!

lfx*_*ove 13

尝试:

var timeout = setInterval(function() {
    if(checkIfFinished()) {
        clearInterval(timeout); 
        isFinished = true;
    }
}, 100);
Run Code Online (Sandbox Code Playgroud)

这将每隔100毫秒调用一次check函数,直到checkIfFinished()给你回真.

  • 我认为你的意思是'setInterval`或者在回调中设置另一个超时. (2认同)