Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

JavaScript Asynchronous Programming with JavaScript Exploring Async/Await Convert Promise Handling to Async/Await

Joseph Bertino
seal-mask
.a{fill-rule:evenodd;}techdegree
Joseph Bertino
Full Stack JavaScript Techdegree Student 14,652 Points

Why don't we `await` the call to `generateHTML()`?

Why don't we await the call to generateHTML(astros), since I presume that we want to only remove the button after we've generated the astronaut profiles to the screen?

1 Answer

Hi Joseph,

Great question. The reason you don't await generateHTML() is because that function isn't asynchronous. No requests are being made to the server. You're not waiting on a response. You're simply taking the data that's passed in as an argument to the function and you're wrapping it in HTML tags.

JavaScript doesn't need to pass that process off to the browser, so it won't move to the next portion of your code until it finishes executing the generateHTML() function.

Does that make sense? If not, I'll try again.

Joseph Bertino
seal-mask
.a{fill-rule:evenodd;}techdegree
Joseph Bertino
Full Stack JavaScript Techdegree Student 14,652 Points

That makes perfect sense, Brandon. I'm starting to understand the async/await paradigm now. We only call await on functions that make some external data call or otherwise rely on something else to respond. And if we have a function in which we use the await command, we have to label that function as async. Is that correct?