У меня есть код, который XMLHttpRequest.Это объект для отправки запроса на сервер, и он асинхронный, поэтому, когда я хочу получить ответ, мне нужно предоставить функцию обратного вызова для свойства onreadystatechange
этого объекта.И эта функция вызывается после получения ответа:
function send()
{
XMLHttpRequest req = new...
req.onreadystatechange = answer;
}
function answer()
{
//handling the answer...
}
Так что это здорово, но я не хочу использовать новую функцию для обработки ответа, поэтому я делаю это анонимно:
function send()
{
XMLHttpRequest req = new...
req.onreadystatechange = function ()
{
//handling the answer...
};
}
Но теперь я хочу использовать результат функции отправки в другой функции, например, для отображения результата:
display(send())
Итак, как заставить это работать?Что-то вроде:
function send()
{
XMLHttpRequest req = new...
req.onreadystatechange = function ()
{
//handling the answer...
return result; //where result is returned by send function
};
}
Есть ли способ сделать это так, чтобы другой код JS продолжал работать, пока этот код будет обрабатывать ответ?