Я пытаюсь понять JSON, обратные вызовы и т. Д. В JS.Из приведенного ниже измененного примера вы увидите, что я использую функцию обратного вызова из $ .getJSON.Затем я прыгаю в getSomething () и ожидаю, что он изменит мою переменную результата.Это изменяет его в рамках функции, но не когда я выпрыгиваю из этой функции.
Из 2 console.log () вы увидите, что первый отображает правильно, а второй - нет.Я уверен, что ответ на мой вопрос связан с возвратом переменных через.обратный вызов, но может кто-нибудь просветить
меня :)
Спасибо!
КОД:
$.getJSON('/cart.js', function (cart, textStatus) {
var result = '';
result += 'Sample Stuff';
StackOverflow.getSomething(param1, param2, function(a, b) {
for(j=0; j < b.length; j++) {
if (b.options[j] != 'Default Title') {
if (a.options[j].name.indexOf("Color") > -1) {
result += b.options[j].name;
console.log(result); // <-- It comes out correct (Sample Stuff + b.options...)
}
}
}
});
console.log(result); // <-- It comes out incorrect, just (Sample Stuff)
});