Кто-нибудь знает, как ждать потока в javascript?wait for javascript thread
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 не возможно внутри функции обратного вызова. Он должен находиться в «родительском» (функция запроса). Таким образом, мне нужно как-то ждать потока (и так для заполнения массива), потому что я могу продолжать и передавать результат.
Так что мой вопрос. Является ли любой метод .join() похожим на java? или waitpid(), как в Unix? или какова наилучшая практика, чтобы дождаться завершенной задачи?
Отношения
В javascript не существует нити. Вышеприведенный код не делает то, что вы думаете. 'callback' вызывается в том же потоке. – cgTag
Поместите 'console.log (resultList)' в ваш обратный вызов? – h2ooooooo
Вместо var resultList = new Array(); вы должны написать var resultList = []; Вы можете использовать Google, чтобы узнать почему. – frenchie