Javascript 调用多个api URL并同时调用
我有三个API URL,每个都有相同的对象名,我希望同时调用所有API 到目前为止,我的js:Javascript 调用多个api URL并同时调用,javascript,json,rest,api,Javascript,Json,Rest,Api,我有三个API URL,每个都有相同的对象名,我希望同时调用所有API 到目前为止,我的js: $(document).ready(function() { var first = 'https:first'; var second = 'https://second'; var third = 'https://third'; $('#get-data').click(function() { var showData = $('#show-
$(document).ready(function() {
var first = 'https:first';
var second = 'https://second';
var third = 'https://third';
$('#get-data').click(function() {
var showData = $('#show-data');
$.getJSON(first,second,third function(data) {
showData.empty();
var items = data.map(function(elem) {
return $("<li />", {
text: elem.title
});
});
var list = $('<ul />').append(items);
showData.append(list);
});
});
});
$(文档).ready(函数(){
var first='https:first';
第二个变量https://second';
第三种风险值https://third';
$(“#获取数据”)。单击(函数(){
var showData=$(“#显示数据”);
$.getJSON(第一、第二、第三个函数(数据){
showData.empty();
var items=data.map(函数(elem){
返回$(“”{
文本:elem.title
});
});
变量列表=$(“
”)。追加(项目);
showData.append(列表);
});
});
});
API调用是异步的,它们按照您在代码中编写它们的顺序执行。执行并不重要,因为“then”可以在执行时以不同的顺序调用
如果您想对这三个服务的执行做些什么,我建议您使用。请看以下示例:
links = ['http://first','http://second','http://third']
data = [];
$('#get-data').click(function() {
// ...
async.each(links, function(link,callback){
$.getJSON(link, function(res){
data.push(res);
callback();
})
}, function(err){
if(!err){
// your code goes here
// data[0] contains data from link 1
// data[1] contains data from link 1
// data[2] contains data from link 2
}
})
// ...
});
看看承诺。所有的!谢谢。我会调查的。没问题。我想你的案例应该是:
Promise.all([$.getJSON(第一),$.getJSON(第二),$.getJSON(第三)])。然后(函数(值){//do something})
nice,我会试试这个谢谢你