gpt4 book ai didi

jquery - 等待函数内的 ajax 请求 : $. 延迟? $.什么时候? jQuery

转载 作者:行者123 更新时间:2023-12-01 07:44:35 25 4
gpt4 key购买 nike

如何等待 ajax 在延迟函数内完成?示例:

    function action() {
console.log('action is called');

var deferred = $.Deferred();

console.log('do some actions...');

//Wait until the ajax is completed and continue script
var myAjaxCall = ajaxCall();

//Execute te next scripts only after the ajax done

console.log('do some actions...');

return deferred.promise();
}


function ajaxCall() {
console.log('ajaxCall is called');

return $.ajax('url').then(function() {
console.log('success ajaxCall');
});
}

action().then(function () {
console.log('after action is done and ajaxCall is done');
});

问题是他的函数必须等到里面的ajax被调用并完成才能继续其他脚本。

谢谢。

最佳答案

你可以链式 promise then()

此外,当 $.ajax 已返回一个 Promise 时,无需创建新的 Promise

因此,在 action() 中,您可以执行以下操作:

 function action() {
console.log('action is called');

var myAjaxCall = ajaxCall();

return myAjaxCall.then(function(result){
// do stuff here after ajax is successfull
});
}

关于jquery - 等待函数内的 ajax 请求 : $. 延迟? $.什么时候? jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41090222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com