Я пытаюсь отладить некоторый код javascript. Переменной, которую я хочу отлаживать, является объект объектов JS, загруженный асинхронно (ajax callback). Я отлаживаю его вне обратного вызова.Консоль Firebug: отладка асинхронных переменных
Я уверен, что проблема связана с проблемой гонки, но я хочу быть уверенным (и это не мой вопрос).
Проблема, которую я нахожу при отладке, заключается в том, что console.log
дает мне информацию, которая не имеет смысла с тем, что делает код. Поэтому либо я что-то пропускаю в коде, либо результат, который я вижу на консоли, - это не снимок состояния переменной, когда я запустил console.log
.
Если окажется, что будет последним, , как я могу получить моментальный снимок состояния асинхронно загруженного объекта JS?
Это упрощенный пример кода:
//This call takes a while to invoke the callback
$.get("url",function(data){
//Process data
globalVariable = data; //JSON (Object of objects)
}
//Couple lines afterwards
/* This console.log shows (in Firebug's console) "Object { }" and when I click it,
I can see the object with all its fields filled (oher objects)
*/
console.log(globalVariable);
for(var e in globalVariable){
//Does not enter here, meaning that the object is empty
}