配置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
相关产品推荐
相关产品推荐

