Возврат результата функции в функцие
Добрый день.
function a(param)
{
var result = 0;
if(param)
result = param * 2;
var obj_1 = document.getElemetnById("obj_1");
obj_1.onload = function()
{
result = this.value * 2;
}
return result; //Вот здесь нужно вернуть то, что вернула функция обработчика события obj_1.onload
}
Подскажите пожалуйста как вернуть результат функции-обработчика события в функцие ? Заранее благодарен за ответ. |
Как ты себе это представляешь?
Результат функции-обработчика возникает в момент события. А результат функции "a" - по факту вызова. Причем, управление не перейдет к обработчику события, пока текущая функция не завершится, даже если событие уже произошло, пока функция работала. |
Вот так представляю :
function a(link)
{
var result = new Array;
if (!link)
return result;
req = XMLHttpRequest();
req.onload = function()
{
if (req.readyState == 4)
{
result = JSON.parse(req.responseText);
}
};
req.open("GET", link, true);
req.send(null);
return result; //Вот здесь нужно вернуть то, что вернула функция обработчика события req.onload
}
Замыкание какое-то должно быть, или не знаю как правильно называется, но думаю что способ какой-то есть. |
Цитата:
|
| Часовой пояс GMT +3, время: 23:24. |