Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From \$16.50/m
FREELessons:65Length:7.1 hours

• Overview
• Transcript

# 10.5 More About async and await

We'll wrap up this final section of the course with a look at using multiple awaits in a single async function, and catching errors with try...catch.

Key terms:

• try...catch

## 11.Conclusion1 lesson, 00:43

### 10.5 More About async and await

Hi folks, in this lesson, we're going to take a look at Async and Await in a little more detail. Focusing on using Awaits multiple times inside and Async function. Earlier in this chapter, we saw promise chaining in action. While this is an improvement over nested callback functions and the pyramid of doom Awaits can improve our code even further. Let's say that we want to do the same as before. Use the number returned by the numbers API is the basis for a request to the Game of Thrones character API. We use the Await operator on the first call to get API response as we did in the last lesson. When the promise resolves, we can then get the number from the start at the fact and then invoke the get API response function again for the second request. And we can Await this one too. At the end, we can return the second promise object. As you can see, this is much more concise and readable than having multiple then methods chained together. The code is insynchronous but it reads and behaves as if it were synchronous, which simplifies the code enormously. Let's compare this to the original then based code that we used earlier. At the moment, this code is quite expanded, and we could save some space by refactoring it slightly and tidying it up. So this is a bit tidier, and it takes up a few less lines, but still, with Async and Await, we have just a single function. With the original code, we have effectively four callback functions. And let's just go back to the browser and check that everything is working as we expect it to. And we can see the returned Game of Thrones character data logged to the console as we expect. One thing we haven't looked at yet is error handling. With Async and Await it's recommended to use try catch around the Await statements. We can wrap the whole contents of the function in the tripart. In the catch part, we should make sure to throw any error that is caught, otherwise the arrow will not be passed back to the caller properly. We can then add a catch method to where the make request function is called. So now, if we mess up one of the URLs, we should see that an error is thrown. Let's go back to the browser console, and we can see that the error has indeed been thrown. We don't get much information because the get API response function only rejects the promise with the status tags at the error. So in this lesson we looked at how to use the Await operator multiple times inside in Async function. Which is really a convenience to avoid long promise change. We also saw how to make sure that any areas in an Async function are handled correctly using a regular try catch statement. The next section is a brief recap the main themes of the course and some closing words from myself. Thanks for watching.

Back to the top