TypeScript在有和没有lib的情况下抱怨

zmb*_*mbq 5 async-await typescript

我正在尝试在TypeScript项目中添加异步函数.代码如下所示:

chrome.tabs.onUpdated.addListener(async (id, c, t) => { ... });
Run Code Online (Sandbox Code Playgroud)

TypeScript抱怨:

错误TS2705:ES5/ES3中的异步函数或方法需要'Promise'构造函数.确保您有"Promise"构造函数的声明或在--lib选项中包含"ES2015"

当我添加lib: ['es2015']到tsconfig时,TypeScript开始抱怨所有调用console.log是否未定义控制台.

Tit*_*mir 5

默认库es5DOM,ES5,所以如果你指定es2015你还需要添加dom明确的console定义在dom库中。样品tsconfig.json

{
    "compilerOptions": {
        "target": "es5",
        "lib": [
            "es2015",
            "dom"
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

Typescript 对默认库采用模块化方法,因此您可以仅包含基于您的环境可用的内容。