Using async/await to avoid callbacks
Futures, with their then
callbacks, allow developers to deal with asynchronous programming. There is an alternative pattern to deal with Futures that can help make your code cleaner and easier to read and maintain: the async/await pattern.
Several modern languages have this alternate syntax to simplify code, and at its core, it's based on two keywords: async
and await
:
async
is used to mark a method as asynchronous, and it should be added before the function body.await
is used to tell the framework to wait until the function has finished its execution and returns a value. While thethen
callback works in any method,await
only works insideasync
methods.
When you use await
, the caller function must use the async
modifier, and the function you call with await
should also be marked as async
.
What happens under the hood is that when you await
the result of an asynchronous function, the line of execution is stopped until the async
operation completes...