Closed
Description
TypeScript Version: 2.1.4
Code
function getDate(): Promise<Date> {
return Promise.resolve(new Date());
}
function getFoo(): Promise<{}> {
return Promise.resolve({});
}
function doFoo() : Promise<number> {
// Error: Type 'Promise<Date>' is not assignable to type 'Promise<number>'.
return (
getDate()
.then(() => {
return (
getFoo()
.then(() => {
return 10;
})
);
})
);
}
Expected behavior:
No compilation error
Actual behavior:
Compiler error: Type 'Promise<Date>' is not assignable to type 'Promise<number>'
.
Futher Notes
Changing getFoo
to return any other value, e.g. function getFoo(): Promise<void>
fixes the compilation error.