Page 1 of 1

Wie rufen Sie mehrere Methoden von JavaScript auf

Posted: 12 Apr 2025, 15:52
by Anonymous
Ich habe eine Methode in JavaScript und in dieser Methode muss ich drei Methoden auf dem Server aufrufen, und jeder gibt einen Teil einiger Daten zurück. Anschließend muss ich eine andere Methode in JavaScript aufrufen und alle drei Ergebnisse vom Server übergeben. < /p>

Code: Select all

function LoadMAData(sessionId) {
$.ajax({
url: 'Home/GetDataA',
type: 'GET',
dataType: 'json',
data: {
sessionId: sessionId
},
success: function (dataA) {
$.ajax({
url: 'Home/GetDataB',
type: 'GET',
dataType: 'json',
data: {
sessionId: sessionId
},
success: function (dataB) {
$.ajax({
url: 'Home/GetDataC',
type: 'GET',
dataType: 'json',
data: {
sessionId: sessionId
},
success: function (dataC) {
ShowMAs(dataA, dataB, dataC);
}
});
},
error: function (err) {
console.log(err.responseText);
}
});
}
});
}
< /code>
Dies funktioniert, aber ich denke, dies ist der schlechteste Weg, wie es geht. Ich warte darauf, dass jeder Anruf einen anderen anruft. Und es dauert einige Zeit.
Ich habe versucht, es zu Versprechen umzuschreiben, aber leider funktioniert es nicht.var promises = [];
let dataA;
let dataB;
let dataC;
promises.push(function () {
$.ajax({
url: 'Home/GetDataA',
type: 'GET',
dataType: 'json',
data: {
sessionId: sessionId
},
success: function (_data) {
dataA = _data;
return 1;
}
});
});
promises.push(function () {
$.ajax({
url: 'Home/GetDataB',
type: 'GET',
dataType: 'json',
data: {
sessionId: sessionId
},
success: function (_data) {
dataB = _data;
return 2;
}
});
});
promises.push(function () {
$.ajax({
url: 'Home/GetDataC',
type: 'GET',
dataType: 'json',
data: {
sessionId: sessionId
},
success: function (_data) {
dataC = _data;
return 3;
}
});
});
Promise.all(promises).then(x => {
ShowMAs(dataA, dataB, dataC);
}, err => {
console.log('error')
});
Können Sie mir bitte helfen?