Hacker News new | ask | show | jobs
Ask HN: Is it possible to write a JavaScript runtime with "await by default"?
3 points by stanlogin 873 days ago
So that this code: ``` let a = await aFuncThatReturnPromise(); console.log(a) ```

becomes the following and does the same thing: ``` let a = aFuncThatReturnPromise(); console.log(a) ```

For sometimes I do not want wait, use: ``` let a = nowait aFuncThatReturnPromise(); ```

3 comments

Rather than changing the semantics of JavaScript, which could cause confusion, you'd probably be better off implementing a compile-to-JS language like CoffeeScript and implementing that as the default behavior.
We used to use fibers before promises to do this. But don't do this.

https://www.npmjs.com/package/fibers

No, that's not possible.

Console.log(a) will always run and finish before your async function finishes in the example that you want.

I know it. But I'm asking about possibility of creating a new runtime.
but then console.log(a) is also a promise...you could do this by adding await to all function calls, a kind of parser preprocessor, and then just removing all noawait's