0

JavaScriptでスレッドを待つ方法を知っている人はいますか?

var resultList = new Array();

function query(){
    //more stuff
    service.nearbySearch(request, callback); //<-- this is the thread 

    console.log(resultList);        //<-- still empty array

    setTimeout(function() {
        console.log(resultList);    //<-- array filled (after hardcoded timeout)
    }, 1000);

}

function callback(results, status) {
    //...   
    resultList.push(resultObject);
}

プログラムのロジック上、コールバック関数内ではresultListでの扱いはできません。「親」(クエリ関数)にある必要があります。そのため、何らかの方法でスレッドを待機する必要があります (したがって、配列がいっぱいになるまで)、続行して結果を処理することができます。

だから私の質問。Javaのような.join()メソッドはありますか? またはUNIXのようなwaitpid()?または、完了したタスクを待つベストプラクティスは何ですか?

よろしく

4

1 に答える 1