I am trying to insert API data into html using JavaScript. I have declared an empty itemsArray, executed a function which fetch data from API and push that data to itemsArray.
Now I want to map over itemsArray, return div element with data and insert it into HTML using innerHTML, but my itemsArray is empty. Anyone knows why is that happen?
Here is my code:
let itemsArray = [];
const fetchData = () => {
fetch('http://localhost:3000/items')
.then(response => {
if (!response.ok) {
throw Error(response.status)
}
return response.json();
})
.then(data => {
data.items.map(item => {
itemsArray.push(item);
})
})
.catch(error => console.log(error))
}
fetchItems();
const itemsList = document.querySelector('#items-list');
let item = itemsArray.map(item => {
return `
<div class="price">
${item.price}
</div>
`;
}).join('');
itemsList.innerHTML = item;