Bonjour, j'utilise async / await dans mon projet TypeScript, mais j'obtiens ce journal:
[ts] Une fonction ou méthode asynchrone dans ES5 / ES3 nécessite le constructeur «Promise». Assurez-vous d'avoir une déclaration pour le constructeur «Promise» ou incluez «ES2015» dans votre --lib
option.
Comment puis-je résoudre cela?
la source
{ "compilerOptions": { "module": "commonjs", "target": "es5", "noImplicitAny": false, "sourceMap": false } }
c'est mon tsconfig.json Comment dois-je modifier?csproj
fichier contenait des éléments xml supplémentaires pour activer / désactiver de telles choses."dom"
dans le"lib"
tableau ou j'obtiens d'autres erreurs.Essayez ce package qui contient des définitions de type pour es6-promise
npm install --save @types/es6-promise
la source
Si vous êtes sur VS, supprimez le tsconfig.json et cliquez avec le bouton droit sur le projet dans l'Explorateur de solutions, puis cliquez sur Propriétés-> TypeScript Build en général, modifiez les éléments suivants
Version ECMAScript: ECMAScript 6
Système de module: ES2015
la source
Vous pouvez également utiliser le "lib": "es2015.promise" pour cette erreur spécifique
la source
VS2019 ne semble pas reconnaître le fichier tsconfig.json, les options LIB ne changeront donc pas l'application. C'est une façon d'ajouter la PROMESSE pour dactylographié d'accepter ASYNC AWAIT.
la source
Pour moi, l'erreur s'est produite dans mes fichiers de test dans le
src/tests
dossier. Puisque j'utilisets-node
pour tester les.ts
fichiers directement, j'ai exclusrc/tests/*
dans montsconfig.json
. Dès que j'ai supprimé la ligne, l'erreur a disparu (ce qui est logique à la fin).Juste au cas où quelqu'un d'autre aurait du mal avec cela dans ses fichiers de test.
EDIT: Bien sûr, vous devez configurer
--lib
correctement votre option comme indiqué dans la réponse acceptée. Montsconfig.json --lib
option fonctionne comme suit:la source
J'ai enfin réussi à le résoudre!
Ma commande sur le terminal:
yarn tsc main.ts && nodejs main.js
Mon message d'erreur:Ce que j'ai fait pour le résoudre, c'était de référencer le fichier tsconfig.json.
Mon fichier tsconfig.json était comme ceci:
Et ma commande de terminal est comme ceci:
yarn tsc -p ./tsconfig.json && nodejs main.js
Si je veux exécuter un autre fichier .ts, je fais simplement:yarn tsc -p ./tsconfig.json && nodejs file_name.js
la source
J'utilise VS2017 v15.8.2 et Typescript 2.4.2 dans un projet Angular 4 (sous un projet de bibliothèque de classes dans ma solution, pas dans un projet dactylographié). J'ai pu supprimer l'erreur / l'avertissement dans VS en désactivant le service de langage JavaScript :
Options => Éditeur de texte => JavaScript / TypeScript => Service de langage
Redémarrez VS.
J'espère que cela t'aides.
la source