Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调用多个api URL并同时调用_Javascript_Json_Rest_Api - Fatal编程技术网

Javascript 调用多个api URL并同时调用

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-

我有三个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-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,我会试试这个谢谢你