Javascript 同步两个HTTP请求

Javascript 同步两个HTTP请求,javascript,jquery,asynchronous,Javascript,Jquery,Asynchronous,我试图通过向两个API端点发出HTTP请求来呈现页面上的一些元素。当两个调用都返回时,我想调用第三个函数 出于性能原因,我不想链接这两个API端点调用 下面是我的最简单的例子: $(document).ready(function () { $.get({ url: `/api/one`, success: function (response) { callback_one(response); } });

我试图通过向两个API端点发出HTTP请求来呈现页面上的一些元素。当两个调用都返回时,我想调用第三个函数

出于性能原因,我不想链接这两个API端点调用

下面是我的最简单的例子:

$(document).ready(function () {
    $.get({
        url: `/api/one`,
        success: function (response) {
            callback_one(response);
        }
    });
    $.get({
        url: `/api/two`,
        success: function (response) {
            callback_two(response);
        }
    });
    // want to call callback_three() after both of the above requests have completed.
});
如何正确地执行此操作?我已经读过承诺、异步/等待、延迟等,但我不确定2019年的最佳实践是什么。

您可以使用并执行以下操作

const urlsAndCallbacks = [
   { 
    url: urlOne,
    callback: callbackOne
   },
   { 
    url: urlTwo,
    callback: callbackTwo
   },
];

Promise.all(urlsAndCallbacks.map(item =>
  $.get({
    url: item.url,
    success: function (response) {
      item.callback(response);
    }
  })
))
.then(data => {
  fetchThirdUrl();
});
您可以使用并执行以下操作

const urlsAndCallbacks = [
   { 
    url: urlOne,
    callback: callbackOne
   },
   { 
    url: urlTwo,
    callback: callbackTwo
   },
];

Promise.all(urlsAndCallbacks.map(item =>
  $.get({
    url: item.url,
    success: function (response) {
      item.callback(response);
    }
  })
))
.then(data => {
  fetchThirdUrl();
});

您可以调用一个函数,在承诺中让函数调用另一个

您可以调用一个函数,在承诺中让函数调用另一个

另一种方法是使用jQuery


另一种方法是使用jQuery


在这个解决方案中,如何调用
callback\u one
callback\u two
函数?
res
不是
fetch()中的响应数据。
Yes…准确地说,在这个解决方案中,如何调用
callback\u one
callback\u two
函数?
res
不是
fetch()中的响应数据
Yes…准确地说,请在回答中提供您试图展示的内容的代码示例。请在回答中提供您试图展示的内容的代码示例。