У меня есть метод в JavaScript, и внутри этого метода мне нужно вызовать три метода на сервере, и каждый вернет часть некоторых данных, а затем мне нужно вызвать другой метод в JavaScript и передать все три результата с сервера. < /p>
У меня есть метод в JavaScript, и внутри этого метода мне нужно вызовать три метода на сервере, и каждый вернет часть некоторых данных, а затем мне нужно вызвать другой метод в JavaScript и передать все три результата с сервера. < /p> [code]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> Это работает, но я чувствую, что это худший способ, как это сделать, я жду, пока каждый вызов закончит и позвоню другому. И это занимает некоторое время. Итак, я попытался переписать его на обещания, но, увы, это не работает. < /P> 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') }); [/code] Можете ли вы мне помочь, пожалуйста?