Получить с массивом и для цикла - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть около пяти URL (API), которые мне нужно получить. Я сделал массив с URL-адресами. Мне нужно сделать цикл for, чтобы я мог получить каждую URL-информацию в разные поля. Я начал раньше с получения URL, затем я записал + info.name + и т. Д. На каждую вещь, которую я хотел получить на странице, но это займет много времени, поэтому мне нужно использовать цикл for. Как я могу это сделать? Так что мне не нужно выбирать и писать + информацию + столько раз?

var urls = ["url i need to fetch",
"url i need to fetch",
"url i need to fetch",];

var url = "url i wanted to fetch";

fetch (url)
.then (result => result.json())
.then ((res) => {
console.log(res);
createCards (res);

})
.catch(err => console.log(err))

function createCards(card) {
var div = document.getElementById('card');



div.innerHTML = `


<h2>`+card.name+`</h2>
      <div>
      <b>HTML text </b>`+info.from.card+`</div>

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Вы можете использовать цикл for и использовать let, который создает область уровня блока

var urls = ["url1", "url2", "url3"];

for (let i = 0; i < urls.length; i++) {
  fetch(urls[i])
    .then(result => result.json())
    .then((res) => {
      console.log(res);
      createCards(res);
    })
    .catch(err => console.log(err))
}

function createCards(card) {
  var div = document.getElementById('card');
  div.innerHTML += `<h2>${card.name}</h2>
                  <div>
                  <b>HTML text </b>${someOtherText}</div>`
}
0 голосов
/ 15 ноября 2018

Вы можете использовать Promise.all () для одновременного выполнения всех запросов:

const urls = [
  "url i need to fetch",
  "url i need to fetch",
  "url i need to fetch"
];
Promise
  .all( urls.map( url => fetch( url)))
  .then( responses => responses.map( response => response.json()))
  .then( results => {
    // do something with the results array
  })
  .catch( error => {
    // handle the error
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...