Skip to content

Instantly share code, notes, and snippets.

@wwwjsw
Forked from ericls/async-await-fetch-map.js
Created July 22, 2020 02:05
Show Gist options
  • Select an option

  • Save wwwjsw/565c25259eafc55425b11f8049fc990c to your computer and use it in GitHub Desktop.

Select an option

Save wwwjsw/565c25259eafc55425b11f8049fc990c to your computer and use it in GitHub Desktop.
async/await with fetch and map
// Use hacker news API as example
async function getData() {
const ids = await (await fetch('https://hacker-news.firebaseio.com/v0/topstories.json')).json()
const data = Promise.all(
ids.map(async (i) => await (await fetch(`https://hacker-news.firebaseio.com/v0/item/${i}.json?print=pretty`)).json())
)
return data
}
getData()
.then(data => {
console.log(data)
})
// Async/await is just a different way of writing promises.
// Even though it looks like synchronous code, don't think it that way.
// It ain't what you don't know that gets you into trouble. It's what you know for sure that just ain't so.
// It ain't asynchrony that gets you into trouble. It's what you think is synchronous that just ain't so.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment