请考虑以下代码段:
async function f() {
console.log("entering");
for (let i=0;i<=1e9;i++) {}
console.log("quitting");
}
async function g() {
console.log("before");
f();
console.log("after");
}
g();
我希望函数g()
调用f()
而无需,以等待其完成。因此,我希望输出为
before
entering
after
quitting
但是,g()
实际上等待f()
完成。当f()
应该是异步函数时,为什么会发生这种情况?