TypeScript生成错误:生成:ES5/ES3中的异步函数或方法需要';承诺';建造师
我使用VS2017和TypeScript 2.5.3 .ts代码如下所示:TypeScript生成错误:生成:ES5/ES3中的异步函数或方法需要';承诺';建造师,typescript,Typescript,我使用VS2017和TypeScript 2.5.3 .ts代码如下所示: class LossEnergyCalculation { async initLossEnergyCalculation(): Promise<void> { try { const response = await fetch("/LossEnergyCalculation/GetOilFieldList"); const oilF
class LossEnergyCalculation {
async initLossEnergyCalculation(): Promise<void> {
try {
const response = await fetch("/LossEnergyCalculation/GetOilFieldList");
const oilFieldsData = await response.json();
}
...
}
我没有tsconfig.json文件
生成项目时,出现以下错误:
Build: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.
如何消除错误?您必须指定
lib
选项以包含Promise
声明。在运行时,如果您的运行时没有对承诺的内置支持,那么您还需要一个承诺库
要指定libs,需要一个tsconfig.json。根据您在问题中指定的内容。这应该与您当前的配置相同
{
"compilerOptions": {
"module": "commonjs",
"sourceMap": true,
"target": "es5",
"lib": [ "es2015.promise", "es5", "dom" ]
}
}
注意对于其余的运行时声明,我只包括了
es2015.promise
中的es2015和es5
。这确保您不会获得不应该使用的es2015
功能,您只会得到所需的承诺。另外,仅仅因为包含了es2015.priomise
lib,并不意味着运行时会有承诺,这应该单独处理 我已按照您的建议添加了tsconfig.json文件,但出现了相同的错误。tsconfig.json文件和我的.ts文件位于同一个脚本文件夹中。您将其保存在哪里?应用程序的根?如果转到“项目设置”,typescript build中的选项是否已停用?(如果不是,这意味着没有考虑tsconfig.json)我应该从npm下载其他东西吗?您发送给我的项目已成功构建,但我的项目未成功构建。我不知道为什么。
{
"compilerOptions": {
"module": "commonjs",
"sourceMap": true,
"target": "es5",
"lib": [ "es2015.promise", "es5", "dom" ]
}
}