У меня есть функция, которая при вызове возвращает вывод функции обещания.
У меня есть метод executeScript, который динамически обрабатывает методы Javascript и возвращает обещание того, что возвращают эти методы.
Базовый скелет
Ref.executeScript({
code: "getData(); function getData(){ var res = 'Hello'; return res;}",
function(results){
console.log(results); ////THIS RETURNS "Hello"
});
Когда код напрямую возвращает переменную, он работает.Например, следующий код возвращает Hello при выполнении.
getData();
function getData(){
var res = "Hello";
return res;
}
Но если я верну его в событии click, он возвращает предыдущее значение «Hello», а не «Hello2» при нажатии кнопки.Я хочу, чтобы "Hello2" был возвращен.
getData();
function getData(){
var res = "Hello";
jQuery("#myButton").on('click', function(){
res = "Hello2";
alert(res); //this gets called
});
return res;
}
Обновлен исходный вопрос для большей ясности