我讀this SO question,但很難得到使用打字稿的承諾。希望我們能夠做出明確的指導。 這是用於服務器/節點項目。我實際上使用最新的iojs,但將ES5作爲輸出。如何使用es6-promises與打字稿?
$ tsd query es6-promise --action install --save
$ npm install --save es6-promise
// typescript code:
/// <reference path="../../typings/es6-promise/es6-promise.d.ts"/>
var Promise = require("es6-promise").Promise;
require('es6-promise').polyfill();
function test():Promise {
var p:Promise = new Promise();
return p;
}
這是給錯誤:
Cannot find name 'Promise'.
//或者:
var p = new Promise<string>((resolve, reject) => {
resolve('a string');
});
//error=> Untyped function calls may not accept type arguments.
什麼是從你自己的節點服務器端代碼返回無極推薦的方法是什麼?
引用:
https://github.com/borisyankov/DefinitelyTyped/blob/master/es6-promise/es6-promise-commonjs-tests.ts
非常詳細的答案,非常感謝! – dcsan
現在推薦使用'typings'而不是'tsd'嗎? –
注意那些使用Angular 2的人:你不需要(也不應該使用)import {Promise}語句,你不需要es6-promise.d.ts,因爲它與Angular 2框架捆綁在一起(as無論如何,beta 15都是)。 –