Async fungerer ikke Atom TypeScript
Jeg lærer TypeScript ved å bruke Atom IDE.
Spørsmålet er, når jeg prøver koden nedenfor
async function fn1() {
throw new Error("Not implemented yet");
}
Jeg får en feil
En asynkron funksjon eller metode i ES5/ES3 krever 'Promise'-konstruktøren.
Men hvis jeg limer inn koden på https://www.typescriptlang.org/play/index.html
det kompilerer korrekt. Dessuten får jeg ingen forslag når jeg bruker Promise i Atom.
Svar #1
Forutsatt at du sikter mot ES5, må du sørge for å inkludere de riktige lib-verdiene i kompilatorinnstillingene dine.
{
"compilerOptions": {
"lib": ["dom", "es2015.promise", "es5"]
}
}
...samt introdusere eventuelle nødvendige polyfills. Vennligst se dokumentasjonen for nednivå async i TypeScript-utgivelsesnotatene.
Svar #2
Her er en fungerende TypeScript-konfigurasjon (tsconfig.json) som jeg bruker som min minimale konfigurasjon for webpacked TypeScript:
{
"compilerOptions": {
"target": "es5",
"types": ["jquery"],
"lib": ["dom", "es2015"],
"baseUrl": "."
},
"compileOnSave": false,
"atom": {
"rewriteTsconfig": false
}
}
Og her er Node.js-målrettede versjon:
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"outDir": "../dist/server",
"types": ["node"],
"baseUrl": ".",
"noImplicitAny": true
},
"compileOnSave": false,
"filesGlob": [
"**/*.ts"
],
"files": [
"server.ts"
],
"atom": {
"rewriteTsconfig": false
}
}
