Javascript 从两个不同的ajax结果中添加两个数字变量

Javascript 从两个不同的ajax结果中添加两个数字变量,javascript,jquery,ajax,ecmascript-5,Javascript,Jquery,Ajax,Ecmascript 5,我想添加两个数字并计算两个不同ajax调用的总数,这样我就可以将总值附加到dom中 $.ajax({ url: "@Url.Action("MonthlyReport")", data: { id: id }, success: function (data) { var total = 0; for (va

我想添加两个数字并计算两个不同ajax调用的总数,这样我就可以将总值附加到dom中

 $.ajax({
            url: "@Url.Action("MonthlyReport")",
            data: { id: id },
              success: function (data) {
                  var total = 0;
                  for (var i = 0; i < data.length; i++) {


             // Create our number formatter.
                total += data[i].interestAmountPerMonth 

               }

                  var formatter = new Intl.NumberFormat('en-US', {
                      style: 'currency',
                      currency: 'USD',
                  });

                  const totalAmountAccrued = formatter.format(total)
                  $('#totalAmountAccrued').append(totalAmountAccrued)

            },
            error: function (req, status, error) {}
          });


我想实现这样的功能:在ajax调用上方使用let声明totalamountacrued和amountwritenoff,让totalamountacrued=totalamountacrued+amountwritenoff

就像让所有人都后悔


从const totalamountacrued和const amountwritenoff中删除const。

在组合多个请求时,可以使用$

使用Promise.all,当所有承诺都得到解决时触发

function makeFetch(url, data) {
    return $.ajax({url: url, data: data})
}

Promise.all([
    makeFetch('@Url.Action("MonthlyReport")', {id: id}),
    makeFetch('@Url.Action("GetAllLoan")', {id: id})
])
.then(([monthlyReport, allLoan]) => {
    const totalAmountAccrued = monthlyReport.reduce((sum, data) => sum + data.interestAmountPerMonth, 0)
    const amountWrittenOff = allLoan.amountWrittenOff
    const overallTotal = totalAmountAccrued + amountWrittenOff
})

有什么问题吗?您可以将这两个值相加。
function makeFetch(url, data) {
    return $.ajax({url: url, data: data})
}

Promise.all([
    makeFetch('@Url.Action("MonthlyReport")', {id: id}),
    makeFetch('@Url.Action("GetAllLoan")', {id: id})
])
.then(([monthlyReport, allLoan]) => {
    const totalAmountAccrued = monthlyReport.reduce((sum, data) => sum + data.interestAmountPerMonth, 0)
    const amountWrittenOff = allLoan.amountWrittenOff
    const overallTotal = totalAmountAccrued + amountWrittenOff
})