Hola, estoy usando async / await en mi proyecto de TypeScript, pero obtengo este registro:
[ts] Una función o método asíncrono en ES5 / ES3 requiere el constructor 'Promise'. Asegúrese de tener una declaración para el constructor 'Promise' o incluya 'ES2015' en su --libopción.
¿Cómo puedo solucionar eso?
fuente

{ "compilerOptions": { "module": "commonjs", "target": "es5", "noImplicitAny": false, "sourceMap": false } }este es mi tsconfig.json ¿Cómo debo editar?csprojarchivo tiene algunos elementos xml adicionales para habilitar / deshabilitar tales cosas."dom"en la"lib"matriz o recibo otros errores.Pruebe este paquete que contiene definiciones de tipo para es6-promise
npm install --save @types/es6-promisefuente
Si está en VS, elimine tsconfig.json y haga clic con el botón derecho en el proyecto en el Explorador de soluciones, luego haga clic en Propiedades-> Compilación de TypeScript en General, cambie lo siguiente
Versión de ECMAScript: ECMAScript 6
Sistema de módulos: ES2015
fuente
También puede utilizar "lib": "es2015.promise" para ese error específico
fuente
VS2019 no parece reconocer el archivo tsconfig.json, por lo que las opciones LIB no cambiarán la aplicación. Esta es una forma de agregar PROMISE para que el mecanografiado acepte ASYNC AWAIT.
fuente
Para mí, el error se produjo en mis archivos de prueba dentro de la
src/testscarpeta. Como utilizots-nodepara probar los.tsarchivos directamente, los excluísrc/tests/*en mitsconfig.json. Tan pronto como eliminé la línea, el error desapareció (lo que al final tiene sentido).En caso de que alguien más tenga problemas con esto en sus archivos de prueba.
EDITAR: Por supuesto, debe configurar su
--libopción correctamente como se describe en la respuesta aceptada. Mitsconfig.json --libopción funciona de la siguiente manera:fuente
¡Finalmente logré resolverlo!
Mi comando en el terminal:
yarn tsc main.ts && nodejs main.jsMi mensaje de error:Lo que hice para resolverlo fue hacer referencia al archivo tsconfig.json.
Mi archivo tsconfig.json era así:
Y mi comando de terminal es así:
yarn tsc -p ./tsconfig.json && nodejs main.jssi quiero ejecutar otro archivo .ts, simplemente hago:yarn tsc -p ./tsconfig.json && nodejs file_name.jsfuente
Estoy usando VS2017 v15.8.2 y Typescript 2.4.2 en un proyecto de Angular 4 (bajo un proyecto de biblioteca de clases en mi solución, no un proyecto de mecanografiado). Pude eliminar el error / advertencia en VS desactivando el servicio de lenguaje JavaScript :
Opciones => Editor de texto => JavaScript / TypeScript => Servicio de lenguaje
Reiniciar VS.
Espero que esto ayude.
fuente