由于 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