gpt4 book ai didi

javascript - 检查变量是否为 "async function"类型

转载 作者:行者123 更新时间:2023-11-30 19:05:29 25 4
gpt4 key购买 nike

给定一个变量,其定义如下:

const f = async function() {/* ... */};

如何检查变量 f 是否属于 async function 类型?

我已经找到了这个解决方案:

f.constructor.name === "AsyncFunction";

但是“f.constructor.name”不兼容IE11。还有其他想法吗?

我知道异步函数在 IE11 中不起作用,...但它们通过 babel 编译过程起作用。这个想法是找到一种方法来检测像 node.js 这样的环境中的异步函数,例如与 IE11/babel 兼容

最佳答案

这似乎是个坏主意。有很多功能实际上是异步的(返回 Promise)但没有被标记为异步(也许它们被转译为浏览器支持)。

如果你真的想测试一个函数是否是异步的,最好测试返回值是否有 .then 属性:

const maybeTask = f()
if ('then' in maybeTask) {
maybeTask.then( .... )
}

关于javascript - 检查变量是否为 "async function"类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59036833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com