Wie rufen Sie mehrere Methoden von JavaScript aufJavaScript

Javascript-Forum
Anonymous
 Wie rufen Sie mehrere Methoden von JavaScript auf

Post 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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post