Async no funciona Atom TypeScript
Estoy aprendiendo TypeScript usando el IDE Atom.
La pregunta es, cuando pruebo el siguiente código
async function fn1() {
throw new Error("Not implemented yet");
}
Recibo un error
Una función o método asíncrono en ES5/ES3 requiere el constructor 'Promise'.
Sin embargo, si pego el código en https://www.typescriptlang.org/play/index.html
Se compila correctamente. Además, no estoy recibiendo ninguna sugerencia cuando uso Promise en Atom.
Respuesta #1
Suponiendo que está apuntando a ES5, necesita asegurarse de incluir los valores de lib apropiados en sus opciones del compilador.
{
"compilerOptions": {
"lib": ["dom", "es2015.promise", "es5"]
}
}
...así como introducir cualquier polyfill necesario. Por favor, consulte la documentación de async en versiones anteriores en las notas de la versión de TypeScript.
Respuesta #2
Aquí hay una configuración de TypeScript que funciona (tsconfig.json) que uso como mi configuración mínima para TypeScript con webpack:
{
"compilerOptions": {
"target": "es5",
"types": ["jquery"],
"lib": ["dom", "es2015"],
"baseUrl": "."
},
"compileOnSave": false,
"atom": {
"rewriteTsconfig": false
}
}
Y aquí está la versión dirigida a 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
}
}
