O lib.d.ts atual não possui promessas definidas, portanto você precisa de um arquivo de definição extra, por isso está recebendo erros de compilação.
Você pode, por exemplo, usar (como @elclanrs diz) usar o pacote es6-promessa com o arquivo de definição de DefinitelyTyped: definição de es6-promessa
Você pode usá-lo assim:
var p = new Promise<string>((resolve, reject) => {
resolve('a string');
});
editar Você pode usá-lo sem uma definição ao direcionar o ES6 (com o compilador TypeScript) - Observe que você ainda precisa que o Promise exista no tempo de execução (portanto, ele não funcionará em navegadores antigos :)) Adicione / edite o seguinte ao seu tsconfig.json
:
"compilerOptions": {
"target": "ES6"
}
edit 2
Quando o TypeScript 2.0 for lançado, as coisas mudarão um pouco (embora acima ainda funcione), mas os arquivos de definição podem ser instalados diretamente com o npm, como abaixo:
npm install --save @types/es6-promise
- fonte
edit3
Atualizando resposta com mais informações para usar os tipos.
Crie um package.json
arquivo apenas { }
com o conteúdo (se você ainda não possui o package.json. Ligue npm install --save @types/es6-promise
e tsc --init
. O primeiro comando npm install alterará seu package.json
para incluir a es6-promessa como uma dependência. Tsc --init criará um tsconfig.json
arquivo para voce.
Agora você pode usar a promessa no seu arquivo datilografado var x: Promise<any>;
. Execute tsc -p .
para compilar seu projeto. Você não deve ter erros.
es6-promise