Закрытие Javascript - вложенная функция локальной переменной [дубликат]Jquery

Программирование на jquery
Ответить
Anonymous
 Закрытие Javascript - вложенная функция локальной переменной [дубликат]

Сообщение Anonymous »

Я пытаюсь использовать переменную x, определенную внутри функции P, значение которой я пытаюсь установить в другой функции. Оно всегда не определено.

Я пытался мысленно использовать замыкание, но это просто вылетало из головы. Он дает мне не строку, а объект.

Логика следующая.

Код: Выделить всё

function P(i){
var x;
if(i!=null){
//this pulls the data correctly and i could see it in network tab response.
var dataFromQuery=widgets.DATA.create({
url:"abc/cde",
queryTemplate :"/query"+i+ "?"
});
//we query the data and set the value as per the logic.
dataFromQuery.query(function(data){
if(data[0].name){
x=data[0].name; // this stays undefined , and i understand this is a new local variable x.Also the value is here and comes fine here so no issues with the data but i want to set it to the variable defined outside as x.
}
})
}
else{
x="somehardcode";
}

};
Я пробовал сохранить результат dataFromQuery.query(function(data){ в var, а затем установить для него значение x, но он снова приходит как объект, который мне нужен в виде строки.
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/402 ... ested-func
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»