Это может быть противоположность my previous question here, но в любом случае мне также нужно знать его ответ.Каков наиболее эффективный способ ожидания вызова асинхронной функции в Javascript?
У меня есть вызов Ajax в моем алгоритме, что мне нужно дождаться его запуска кода. Есть два решения:
1) Типичное решение:
ajaxCall(function(result){
//the code to run after the call is returned
});
2) Тот, мне интересно, если это может быть альтернативой:
res=null;
ajaxCall(function(result){
res=result;
});
while(res==null)/*wait! but this will lock the GUI I guess*/;
//do the rest of the code because now res is initialized
Вопрос заключается в том, как я могу написать второе решение эффективным способом, который не задерживает графический интерфейс?
Просто сделать синхронный вызов Ajax. ref: https://developer.mozilla.org/en/XMLHttpRequest искать параметр async. – Yoshi
Синхронные запросы по-прежнему блокируют графический интерфейс. –
@ AndyE Конечно, в этом суть асинхронизации и синхронизации. Но это все же лучше, чем бесконечный цикл. – Yoshi