Apparently the non async code inside an async function will execute synchronously even if you don't await.
Consider this code example:
async function f() {
g('adsasdasd'); // note that it is not `await`ed
console.log('000');
}
async function g(m) {
console.log('g', m);
}
f() // calling `f`
I always thought it would produce this output:
000
g adsasdasd
BUT, the actual output is like this
g adsasdasd // function `g` is executed first!!
000
Can anyone explain this?
Top comments (1)
The return value of an
asyncfunction is always anPromise. Here functiongis technically returningundefined, but before that its executingconsole.logwhich is a simple log statement. Hence it prints the string. The subsequent call toconsole.log(000)prints another value.