back

by tobr·8y ago·view on hn ↗
Is the `await` used in the last two examples a typo? They're not asynchronous are they?
1 comments
So, it’s me being lazy and copy-pasting, but you can use await on synchronous functions, too. It’s a no-op :D
Not a no-op, it wraps the awaited value in `Promise.resolve()`:

   async function foo() {
      const a = await {then(resolve) { resolve(123); }};
      console.log(a);
    }
    foo();
Indeed, you don't use `await` on functions either, it's used on promises. In fact, when used on a non-promise, it still waits an extra loop cycle before resolving and continuing the async function.