TypeScript/tests/baselines/reference/propagationOfPromiseInitialization.js
2014-08-15 15:49:09 -07:00

27 lines
623 B
TypeScript

//// [propagationOfPromiseInitialization.ts]
interface IPromise<T> {
then<TResult>(successCallback: (promiseValue: T) => TResult, errorCallback?: (reason: any) => TResult): IPromise<TResult>;
}
var foo: IPromise<number>;
foo.then((x) => {
// x is inferred to be a number
return "asdf";
}).then((x) => {
// x is inferred to be string
x.length;
return 123;
});
//// [propagationOfPromiseInitialization.js]
var foo;
foo.then(function (x) {
// x is inferred to be a number
return "asdf";
}).then(function (x) {
// x is inferred to be string
x.length;
return 123;
});