Я прочитал this SO question, но у меня проблемы с обещаниями работать с машинописным текстом. Надеюсь, мы сможем сделать четкое руководство. Это для проекта сервер/узел. Я фактически использую последние iojs, но нацеливаю ES5 на выход.как использовать es6-обещания с машинописным текстом?
$ 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-prom.d.ts, так как это поставляется в комплекте с ракурсом Angular 2 (as бета-версии 15). –