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.
TypeScript Version: 2.1.4
Code
Expected behavior:
No compilation error
Actual behavior:
Compiler error:
Type 'Promise<Date>' is not assignable to type 'Promise<number>'.Futher Notes
Changing
getFooto return any other value, e.g.function getFoo(): Promise<void>fixes the compilation error.