Fix ES6 Promise typings so that a void error callback does not mess up inference

This commit is contained in:
Jason Freeman
2015-05-06 16:11:31 -07:00
parent 557bb595af
commit eea6c97557
+29
View File
@@ -160,3 +160,32 @@ getJSON('story.json').then(function(story: Story) {
}).then(function() {
(<HTMLElement>document.querySelector('.spinner')).style.display = 'none';
});
interface T1 {
__t1: string;
}
interface T2 {
__t2: string;
}
interface T3 {
__t3: string;
}
function f1(): Promise<T1> {
return Promise.resolve({ __t1: "foo_t1" });
}
function f2(x: T1): T2 {
return { __t2: x.__t1 + ":foo_21" };
}
var x3 = f1()
.then(f2, (e: Error) => {
console.log("error 1");
throw e;
})
.then((x: T2) => {
return { __t3: x.__t2 + "bar" };
});