If you decide that you want to use async..await with promises in JS, please don't write the following code. You are converting a rejection into a specific resolution and are providing semantic value on a compile time constant.
By keeping our async function free of try catches we are able to bubble up the rejection to be handled by the caller. Line 15 in this case will never be executed because Promises can act like monads and allow short circuit logic via the reject branch.