If I've understood your question correctly, you want to wait for each AJAX request to complete before submitting the next one.
That sort of thing is easiest in an
async
function:
async function - JavaScript | MDN[
^]
function creditAsync(sdk, tran) {
return new Promise(function (resolve, reject) {
sdk.PT('CREDIT', tran).success(resolve).failure(reject);
});
}
async function processMultipleTag(sdk, payload, btn1) {
for (let x = 0; x < payload.info.tgdetails.length; x++) {
var tran = sdk.tran({
type: payload.info.tgdetails.[x].type,
amount: payload.info.tgdetails.[x].amount
});
tran.method1({
group: payload.info.tgdetails.[x].tag
});
try {
const data = await creditAsync(sdk, tran);
$("input[id$='Response']").val(JSON.stringify(data));
} catch (e) {
sdk.reset();
}
}
submit_postback(btn1);
}