Javascript теряются переменные

Рейтинг: 0Ответов: 1Опубликовано: 22.09.2014
 proximity.query(data["lat"], data["lon"], 5000, function(err, replies) {
     if (err) throw err;
     var userString = "";
     replies.forEach(function(reply, i) {
         var dataUser = reply;
         client.get(reply, function(err, reply2) {
             userString = userString + reply;
             console.log(userString); // return OK
         });
         console.log(userString); // return NULL
     });
     console.log(userString); // return NULL
 });

Собственно мучаюсь уже на протяжении дня, сначала пытался затокать в массив с помощью .push потом в объект теперь дошел до того что-бы просто формировать строчку. где "return ok" там в консольку все возвращается сразу же после закрытия функции в консоль пишется пустота. Почему?

Ответы

▲ 0Принят

И не будет. У вас функция в get выполняется асинхронно.
ПО хорошему, настраивается колбэк, науськанный на конец принятия данных от ajax.
К сожалению, как именно подсказать не смогу, но копайте в этом направлении.