gpt4 book ai didi

javascript - 在 ajax 调用完成后执行函数

转载 作者:行者123 更新时间:2023-11-30 20:54:28 25 4
gpt4 key购买 nike

我想知道当带有 ajax 调用的函数完成时,哪种方式是执行函数的最佳方式。

我的代码:

   jQuery.when(AjaxCallToBokningar()).done(function () {

console.log("AjaxCallComplete");
});


function AjaxCallToBokningar() {
var url = `${_spPageContextInfo.webAbsoluteUrl}/_api/web/lists/getbytitle('Bokningar')/items

var call = jQuery.ajax({
url: url,
type: "GET",
dataType: "json",
headers: {
Accept: "application/json;odata=verbose"
}
});

//Done
call.done(function (data, textStatus, jqXHR) {
//Filling globalArray
window.globalBokningsArray = data.d.results;
});

//Fail
call.fail(function (jqXHR, textStatus, errorThrown) {
console.log('Loading Bokningar content faild: ' + textStatus + jqXHR.responseText);
});
}

我走在正确的轨道上还是有更好的方法?

最佳答案

如果您希望能够进行 Ajax 调用,然后在它完成时调用函数,您可以使用函数引用作为参数并像这样...

function AjaxCallToBokningar(doneCallback) {
var url = `${_spPageContextInfo.webAbsoluteUrl}/_api/web/lists/getbytitle('Bokningar')/items

var call = jQuery.ajax({
url: url,
type: "GET",
dataType: "json",
headers: {
Accept: "application/json;odata=verbose"
}
});

//Done
call.done(function (data, textStatus, jqXHR) {
//Filling globalArray
window.globalBokningsArray = data.d.results;
doneCallback();
});

//Fail
call.fail(function (jqXHR, textStatus, errorThrown) {
console.log('Loading Bokningar content faild: ' + textStatus + jqXHR.responseText);
});
}

然后你可以这样调用它......

function ajaxCallComplete1() {
// this is executed after the 1st call is done - do something here
}

function ajaxCallComplete2() {
// this is executed after the 2nd call is done - do something here
}

AjaxCallToBokningar(ajaxCallComplete1);
AjaxCallToBokningar(ajaxCallComplete2);

或者...

AjaxCallToBokningar(function() {
// this is executed after the call is done - do something here
});

关于javascript - 在 ajax 调用完成后执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47828985/

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