Typescript的自定义Promise类不起作用

时间:2018-10-09 15:35:56

标签: javascript typescript class ecmascript-6 promise

我试图创建一个扩展内置Promise的自定义类,但是其中某些方法无法按预期工作。

以下es6将起作用:

class MyPromise extends Promise{
    mythen(cb){
        return this.then(cb)
    }
}
MyPromise.resolve().mythen(()=>1).mythen(console.log)

但是以下类型密码却没有:

class MyPromise<T> extends Promise<T>{
    mythen(cb){
        return this.then(cb)
    }
}
MyPromise.resolve().mythen(()=>1).mythen(console.log)

我发现MyPromise.resolve()返回Promise<void>而不是MyPromise<void>。 但是,根据es6的行为,MyPromise.resolve()确实会返回MyPromise<void>

这是否意味着我必须重写每个Promise方法,例如resolve then catch...。

0 个答案:

没有答案