Я пытаюсь обновить локальную переменную в функции с возвращенными данными из функции обратного вызова. Но это похоже на то, что функция обратного вызова не имеет к ней доступа.Доступ к локальной переменной из функции обратного вызова
Ниже то, что я работаю с:
this.renderUI = function(res) {
var connected = (res.user != null && res.user.isConnected);
if(connected) {
$j('#jive-modal-invite').trigger('close');
var contactsData = gigya.socialize.getContacts({callback: getContacts_callback });
console.log(contactsData);
}else {
console.log('openid disconnected');
}
};
function getContacts_callback(response) {
return response;
}
Обратный вызов является асинхронным, поэтому он не знает о локальная переменная. – Robert
Я что-то упустил? Почему ваш обратный вызов напоминает: 'gigya.socialize.getContacts ({callback: function (response) {' вместо 'gigya.socialize.getContacts (function (response) {'? – Andy
Если 'getContacts' является асинхронным, вы просто не можете (и не должен). Поместите операторы протоколирования (и все остальное, что обращается к «contactData') в обратном вызове – Bergi