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 10,323 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

Brandon White
seal-mask
MOD
.a{fill-rule:evenodd;}techdegree seal-36
Brandon White
Treehouse Moderator

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 10,323 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?