小编Bri*_*ong的帖子

检查函数参数的类型

由于 TypeScript 是 Javascript 的超集,并且“Type”会在生成的 js 文件中被删除,所以我想使用“type”不会像这样工作,对吧?另外,除了两种不同的方法之外,还有什么更好的方法吗?

type VoidToVoidFunc = () => void;
type VoidToPromiseVoidFunc = () => Promise<void>;

async function add(func: VoidToVoidFunc  | VoidToPromiseVoidFunc) {
    if (typeof func == typeof VoidToVoidFunc)
        func(); 
    else
        await func();
}

add(() => console.log(1));
Run Code Online (Sandbox Code Playgroud)

javascript async-await typescript es6-promise ecmascript-2017

5
推荐指数
1
解决办法
194
查看次数