Olá, estou usando async / await no meu projeto TypeScript, mas recebo este log:
[ts] Uma função ou método assíncrono em ES5 / ES3 requer o construtor 'Promise'. Certifique-se de ter uma declaração para o construtor 'Promessa' ou inclua 'ES2015' em sua --lib
opção.
Como posso resolver isso?
fonte
{ "compilerOptions": { "module": "commonjs", "target": "es5", "noImplicitAny": false, "sourceMap": false } }
este é meu tsconfig.json. Como devo editar?csproj
arquivo tem alguns elementos xml extras para habilitar / desabilitar tais coisas."dom"
no"lib"
array também ou recebo outros erros.Experimente este pacote que contém definições de tipo para es6-promessa
npm install --save @types/es6-promise
fonte
Se você estiver no VS, exclua o tsconfig.json e clique com o botão direito do mouse no projeto no Solution Explorer e, em seguida, clique em Propriedades-> TypeScript Build em Geral, altere o seguinte
Versão ECMAScript: ECMAScript 6
Sistema de Módulo: ES2015
fonte
Você também pode usar "lib": "es2015.promise" para esse erro específico
fonte
O VS2019 não parece reconhecer o arquivo tsconfig.json, portanto, as opções LIB não alterarão o aplicativo. Esta é uma forma de adicionar a PROMESSA para texto digitado para aceitar ASYNC AWAIT.
fonte
Para mim, o erro ocorreu em meus arquivos de teste dentro da
src/tests
pasta. Como usots-node
para testar os.ts
arquivos diretamente, excluísrc/tests/*
no meutsconfig.json
. Assim que apaguei a linha, o erro desapareceu (o que faz sentido no final).Apenas no caso de outra pessoa estar lutando com isso em seus arquivos de teste.
EDIT: Claro que você precisa configurar sua
--lib
opção corretamente conforme descrito na resposta aceita. Minhatsconfig.json --lib
opção funciona da seguinte maneira:fonte
Finalmente consegui resolver!
Meu comando no terminal:
yarn tsc main.ts && nodejs main.js
Minha mensagem de erro:O que fiz para resolver foi fazer referência ao arquivo tsconfig.json.
Meu arquivo tsconfig.json era assim:
E meu comando de terminal é assim:
yarn tsc -p ./tsconfig.json && nodejs main.js
Se eu quiser executar outro arquivo .ts, eu simplesmente faço:yarn tsc -p ./tsconfig.json && nodejs file_name.js
fonte
Estou usando VS2017 v15.8.2 e Typescript 2.4.2 em um projeto Angular 4 (em um projeto de biblioteca de classe em minha solução, não um projeto de texto digitado). Consegui remover o erro / aviso no VS desativando o serviço de linguagem JavaScript :
Opções => Editor de Texto => JavaScript / TypeScript => Serviço de Linguagem
Reinicie o VS.
Espero que isto ajude.
fonte