异步不工作Atom TypeScript

时间:2017-07-15 21:31:17

标签: typescript atom-editor

我正在使用Atom IDE学习TypeScript。

问题是,当我尝试以下代码时

async function fn1() {
    throw new Error("Not implemented yet");
}

我收到错误

  

ES5 / ES3中的异步功能或方法需要承诺'构造

但是,如果我粘贴代码 https://www.typescriptlang.org/play/index.html

它正确编译。此外,当我在Atom中使用Promise时,我没有得到任何建议。

2 个答案:

答案 0 :(得分:1)

假设您的目标是ES5,您需要确保在编译器选项中包含适当的lib值。

{
    "compilerOptions": {
        "lib": ["dom", "es2015.promise", "es5"]
    }
}

......以及引入任何必要的polyfill。请参阅TypeScript release notes上的下层异步文档。

答案 1 :(得分:0)

这是一个有效的TypeScript配置(tsconfig.json),我将其用作webpacked TypeScript的最小配置:

{
  "compilerOptions": {
    "target": "es5",
    "types": ["jquery"],
    "lib": ["dom", "es2015"],
    "baseUrl": "."
  },
  "compileOnSave": false,
  "atom": {
    "rewriteTsconfig": false
  }
}

这是Node.js目标版本:

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es6",
    "outDir": "../dist/server",
    "types": ["node"],
    "baseUrl": ".",
    "noImplicitAny": true
  },
  "compileOnSave": false,
  "filesGlob": [
    "**/*.ts"
  ],
  "files": [
    "server.ts"
  ],
  "atom": {
    "rewriteTsconfig": false
  }
}