You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置es2021 lib后仍出现TS2550错误(Promise.any不存在)的解决求助

配置es2021 lib后仍出现TS2550错误(Promise.any不存在)的解决求助

我最近碰到一个TypeScript编译的问题,折腾了好久都没搞定,想过来请教下各位大佬。

先贴一下我的代码:

Code :

async function fetchDataWithDelay(delay: number, data: string) {
  return new Promise((resolve, reject) => {
    setTimeout(() => resolve(data), delay);
  });
}

async function fetchAnyData() {
  try {
    const result = await Promise.any([
      fetchDataWithDelay(3000, "Data 1"),
      fetchDataWithDelay(1000, "Data 2"),
      fetchDataWithDelay(2000, "Data 3"),
    ]);
    console.log("First resolved data:", result);  // "Data 2"
  } catch (error) {
    console.error("Error:", error);
  }
} 
fetchAnyData();

当我用cmd终端执行tsc编译时,会抛出这个错误:
error TS2550: Property 'any' does not exist on type 'PromiseConstructor'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2021' or later.

我明明已经在tsconfig.json里配置了对应的lib选项:

"lib": ["es2021", "dom"]

再说说我的环境:

  • Node.js版本:v22.8.0
  • TypeScript编译器(tsc)版本:5.7.2
  • IDE:VSCode

更奇怪的是,VSCode编辑器里完全没有这个报错提示,只有终端编译的时候才会出现。有没有人能帮我看看问题出在哪,该怎么解决呀?

备注:内容来源于stack exchange,提问作者Test November

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 15:53:09