Вот так представляю :
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
}
Замыкание какое-то должно быть, или не знаю как правильно называется, но думаю что способ какой-то есть.