gpt4 book ai didi

typescript - WebStorm,ES5/ES3 中的异步函数或方法需要 'Promise' 构造函数

转载 作者:搜寻专家 更新时间:2023-10-30 20:33:52 25 4
gpt4 key购买 nike

我尝试使用 WebStorm IDE 在 typescript (ES6) 中编写测试。例如:

// Imports...

describe('Message', () => {
const server = express();
server.use(bodyParser.json());

const messageService = { findAll: () => ['test'] };

beforeAll(async () => {
const module = await Test.createTestingModule({
modules: [MessageModule],
})...
});

// Tests...
});

但是 WebStorm IDE 在 async () => 处显示以下错误

TS2705: An async function or method in ES5/ES3 requires the Promise constructor. Make sure you have a declaration for the Promise constructor or include ES2015 in your --lib option.

我的tsconfig.json:

{
"compilerOptions": {
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es6",
"sourceMap": true,
"allowJs": true,
"outDir": "./dist"
},
"include": [
"src/**/*"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
]
}

我读了ts An async function or method in ES5/ES3 requires the 'Promise' constructor并尝试添加

"lib": [ "es2015" ]

但是没有任何效果。有什么问题吗?

最佳答案

不编辑项目源的解决方案

我在使用 IntelliJ 时遇到了这个问题,并通过更改我的 IDE 设置解决了这个问题:

设置 -> 语言和框架 -> TypeScript

然后在“选项”字段中添加:

--lib es2015

enter image description here

关于typescript - WebStorm,ES5/ES3 中的异步函数或方法需要 'Promise' 构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46848802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com