javascript中如何判断一个函数是async函数

这个函数是传入的,所以别告诉我async关键字

一个方案是看函数调用返回结果是否是promise。。。

阅读 12.8k
4 个回答

使用这个:Object.prototype.toString.call(fn);如果输出"[object AsyncFunction]"那就是async函数,否则是普通函数

fn.constructor.name === 'AsyncFunction'

使用这个:Object.prototype.toString.call(fn);如果输出"[object AsyncFunction]"那就是async函数,否则是普通函数

新手上路,请多包涵

let fn = async () => {}
fn.constructor.name 返回的是 Function
Object.prototype.toString.call(fn) 也是返回 Function
看起来这个判定对于箭头函数不奏效

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题