TypeScript/tests/baselines/reference/propagationOfPromiseInitialization.js

27 lines
623 B
TypeScript
Raw Normal View History

2014-07-13 01:04:16 +02:00
//// [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
2014-07-13 01:04:16 +02:00
return "asdf";
}).then(function (x) {
// x is inferred to be string
2014-07-13 01:04:16 +02:00
x.length;
return 123;
});