You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中顶级async函数返回什么?无显式返回时返回值解析

async函数的返回值规则

你完全正确——所有async函数的返回值必然是Promise对象,和函数内部有没有显式return、有没有使用await都没关系。

针对你给出的例子:

(async function myFunc() {
   const list = await someFunc();
   const anotherList = someOtherFunc(list);
   console.log(anotherList);
})();

这个函数没有写任何return语句,它会默认返回一个已resolved状态的Promise,其resolve的结果是undefined——这和普通同步函数没写return时返回undefined的逻辑一致。

再补充几个关键细节:

  • 如果async函数里写了return 123,它不会直接返回123,而是返回一个resolved值为123的Promise;
  • 要是函数内部抛出了错误,这个Promise会进入rejected状态,携带抛出的错误信息;
  • 不管是用立即执行表达式(IIFE)调用,还是在全局同步代码里调用,async函数的返回值类型永远是Promise,不会变成Void或者其他类型。

内容的提问来源于stack exchange,提问作者Matt Styles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 10:54:52