Javascript 同步两个HTTP请求
我试图通过向两个API端点发出HTTP请求来呈现页面上的一些元素。当两个调用都返回时,我想调用第三个函数 出于性能原因,我不想链接这两个API端点调用 下面是我的最简单的例子:Javascript 同步两个HTTP请求,javascript,jquery,asynchronous,Javascript,Jquery,Asynchronous,我试图通过向两个API端点发出HTTP请求来呈现页面上的一些元素。当两个调用都返回时,我想调用第三个函数 出于性能原因,我不想链接这两个API端点调用 下面是我的最简单的例子: $(document).ready(function () { $.get({ url: `/api/one`, success: function (response) { callback_one(response); } });
$(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…准确地说,请在回答中提供您试图展示的内容的代码示例。请在回答中提供您试图展示的内容的代码示例。