Есть ли способ приостановить оставшуюся часть функции, когда вы ожидаете возвращения значения из асинхронного вызова с помощью jQuery?
Чтобы добиться этого "приостановленного" поведения, вы хотите поместить поведение в объект обетования. https://api.jquery.com/jQuery.ajax/
$.ajax({
url: "test.html",
data: myData
}).success(function() {
//put your code here this will only fire after it returns successfully
}).error(function() {
//This will fire if there is an error
});
То, о чем вы говорите, будет синхронным вызовом, который не рекомендуется, так как он заморозит пользовательский интерфейс.
Вместо этого используйте обратный вызов, указанный в вызове jQuery, для выполнения остальной части вашего кода:
function DoSomeCall()
{
$.post( "ajax/test.html", function( data ) {
//Do your follow on code in here, in the callback.
});
//Don't do any code here that relies on the AJAX being finished first.
}