typescript - 为什么不能使用 "type A = Promise<any>"作为异步函数的返回类型?

标签 typescript

async function AsyncFunction(): Promise<number> {
  return 0;
}

按预期正常工作,没有问题;


async function AsyncFunction(): AsyncFunctionReturnType {
  return 0;
}

type AsyncFunctionReturnType = Promise<number>

抛出 “类型‘AsyncFunctionReturnType’不是 ES5/ES3 中有效的异步函数返回类型,因为它没有引用与 Promise 兼容的构造函数值。ts(1055)”


它们对我来说看起来很相似,为什么语法在这里很重要?

最佳答案

您需要在“ES5”或“ES3”目标的库中包含“es2015”。语法上没有区别 - 而是编译到的目标不同:Playground with errorES2015 target

关于typescript - 为什么不能使用 "type A = Promise<any>"作为异步函数的返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63145088/

相关文章:

javascript - 如何确定 Observable.merge 中哪些 observable 发生了更改?

typescript - 具有字符串属性的数组的类型或接口(interface)

csv - typescript csv解析

javascript - 获取 Javascript 接口(interface)键作为字符串(如枚举)

angular - PrimeNG 使用异步管道延迟加载数据

Angular 7 Component Observable 命名函数与匿名函数

javascript - 限制在给定时间打开的 promise 数量

typescript - RxJS - 每 3 秒查询一次服务器,持续 15 秒或正结果

typescript :如何导出变量

javascript - 如何减少javascript对象只包含接口(interface)的属性