Created
February 22, 2017 14:02
-
-
Save wesbos/1866f918824936ffb73d8fd0b02879b4 to your computer and use it in GitHub Desktop.
Simple Async/Await Example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 🔥 Node 7.6 has async/await! Here is a quick run down on how async/await works | |
const axios = require('axios'); // promised based requests - like fetch() | |
function getCoffee() { | |
return new Promise(resolve => { | |
setTimeout(() => resolve('☕'), 2000); // it takes 2 seconds to make coffee | |
}); | |
} | |
async function go() { | |
try { | |
// but first, coffee | |
const coffee = await getCoffee(); | |
console.log(coffee); // ☕ | |
// then we grab some data over an Ajax request | |
const wes = await axios('https://api.github.com/users/wesbos'); | |
console.log(wes.data); // mediocre code | |
// many requests should be concurrent - don't slow things down! | |
// fire off three requests and save their promises | |
const wordPromise = axios('http://www.setgetgo.com/randomword/get.php'); | |
const userPromise = axios('https://randomuser.me/api/'); | |
const namePromise = axios('https://uinames.com/api/'); | |
// await all three promises to come back and destructure the result into their own variables | |
const [word, user, name] = await Promise.all([wordPromise, userPromise, namePromise]); | |
console.log(word.data, user.data, name.data); // cool, {...}, {....} | |
} catch (e) { | |
console.error(e); // 💩 | |
} | |
} | |
go(); |
Thank you. Concise and easy to understand.
Best exemple i found, thanks
it's Awesome
Good Lord, thank you
Helped me understand the fundamentals
tyvm!
🙏 Thank you!
thx
Thank you
does it work on IOS 9,10 Safari?.
thanks
brilliant & funny :-) Thank you!
Thank You! Clearest example I've found, no Bs just straight to the code!
Excellent example!
awesome
Thanks mate!
Very clear!, thanks
NICE =)
Thanks. Really simple straight forward example.
good job! :)
Great :)
Thank you very much.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks dude. God bless!