获取多个Api URL并将数据存储在数组中

时间:2019-01-28 14:22:09

标签: javascript html arrays json api

我正在尝试将获取的数据存储到包含其名称和价格的数组中。 但是问题是在浏览器窗口上只有SCBTC或XLMBTC之一的结果..在几次刷新后它会切换。我可以在2行中同时获得这两个查询吗,我可以分别存储吗?有可能吗?

<body>
    <div id="a"></div>
</body>

<script>
    "use strict";

    var pair = ["SCBTC","XLMBTC"];
    var url = "https://api.binance.com/api/v1/ticker/price?symbol=";


    for(var i=0; i<2; i++) {

      fetch(url + pair[i])
        .then(function(resp) {
          return resp.json();
        })
        .then(function(data) {
          console.log(data); 

          var x = document.getElementById("a");
          x.innerHTML= JSON.stringify(data); + "<br/>"; 
        });
    }
</script>

1 个答案:

答案 0 :(得分:0)

您使用Promise.all获得多个结果:

<body>
<div id="a"></div>
</body>

<script>
"use strict";

    var pair = ["SCBTC","XLMBTC"];
    var url = "https://api.binance.com/api/v1/ticker/price?symbol=";


    Promise.all(
      pair.map(p=>fetch(url+p).then(r=>r.json()))
    ).then(
      results=> {
        console.log(data); 
      }
    );
</script>