这会导致任何问题吗?我猜不是,只要我们不试图await
一个async函数没有返回值?
我一直在寻找这方面的信息,我确信它就在那里(甚至可能是显而易见的),但我没有任何运气找到一个明确的答案。
垃圾回收器与此无关。
在JavaScript中,每个函数返回一个值。当没有显式的return
语句时,它将隐式地返回undefined
。
当然,如果你等待一个永远不会发生的事件,你将永远等待下去。任何在事件发生时注册运行的回调函数都将等待,即它们将永远留在内存中。
自己看:
async function foo() { /* no explicit return */ }
let result = await foo();
console.log(result); // undefined