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

Node.js中如何定义AsyncFunction?AsyncFunction未定义报错如何解决

原因

Node.js 完全支持 AsyncFunction,只是它没有像 Function 一样被挂载为全局对象,所以直接调用会抛出未定义错误。

解决方法

你可以通过任意异步函数的原型获取它的构造函数:

// 第一步:获取AsyncFunction构造函数
const AsyncFunction = Object.getPrototypeOf(async function(){}).constructor

// 第二步:使用和Function完全一致的语法创建异步函数
const addAsync = AsyncFunction('var1', 'var2', 'return var1 + var2')

// 调用异步函数会返回Promise
addAsync(1, 2).then(result => {
  console.log(result) // 输出 3
})

补充说明

不仅是 Node.js,浏览器端的 AsyncFunction 同样不属于全局暴露的对象,都需要用上述方式主动获取。

内容的提问来源于stack exchange,提问作者Daniele Testa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:09:05