2017-01-20 14 views
0

私たちは私たちのプロジェクトでtypescriptですジェネリックを使用しますが、我々が例PromiseLikeの基底クラスで戻り値の型としてそれらを使用する場合、それはPromiseLike <を取得しているようです{}>。活字体ジェネリックは適切な型に戻っていない

私は、エラーを再現する小さなアプリケーションを作成している:私たちのジェネリック医薬品でのミスがtypescriptですの取り扱いやバグ場合https://github.com/ssachtleben/typescript-generics-problem

誰かがそれを確認することはできますか?

は素晴らしいだろう。

おかげで、 セバスチャン

答えて

1

コンパイラはaccountService.findOneにお電話で型を推論することはできませんので、それはどんな "がデフォルト。あなたはそれを自分で提供する必要があります。

return new AccountService().findOne<Account>({}).then(account => account.username); 

発信者はそれを心配する必要はありませんので、あなたはおそらく、あなたのためにこれを行いfindAccountと呼ばれるあなたのAccountServiceの内のメソッドを提供しなければなりません。

public findAccount(id: number): PromiseLike<Account> {  
    return this.findOne<Account>({ id: id }); //example 
} 
+0

ありがとう、私はfindOneと一緒に暮らすことができます :) –

関連する問題