Пользовательский класс Promise Typescript не работает - PullRequest
0 голосов
/ 09 октября 2018

Я пытался создать собственный класс, который расширяет встроенный 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 ....?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...