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 --lib
opció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?csproj
archivo 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-promise
fuente
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/tests
carpeta. Como utilizots-node
para probar los.ts
archivos 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
--lib
opción correctamente como se describe en la respuesta aceptada. Mitsconfig.json --lib
opción funciona de la siguiente manera:fuente
¡Finalmente logré resolverlo!
Mi comando en el terminal:
yarn tsc main.ts && nodejs main.js
Mi 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.js
si quiero ejecutar otro archivo .ts, simplemente hago:yarn tsc -p ./tsconfig.json && nodejs file_name.js
fuente
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