2016-11-11 10 views
0

これを行うことはできますか?それが可能だ ? いいえの場合は、これを行う別の方法がありますか?voidまたはTypescriptで他の型を返します

ngOnInit(): void | Observable<TModel> { 
//return bla bla bla 
} 
+0

私は、Visual Studio 2015年にこれを使用すると、(「ngOnInit()が加入していること、エラーを持っています。 ) 'は型voidには存在しませんが、ngOnInit()メソッドの戻り値は' void | Observable 'であり、subscribe()はObservableのメソッドです。私はこれを使用したい場合は、キャスト '(ngOnInit()Observable ).subscribe()' – Carlinhos

答えて

3

はい、可能です。

代替は厳しいヌルチェックでうまく動作しますこれは、Observable<TModel> | undefinedの戻り値の型を持つことです。

function myFunction(): string | undefined { 
    return Math.random() < 0.5 ? "" : undefined; 
} 

const myString = myFunction(); 
myString.charAt(0); // error 
myString!.charAt(0); // ok 

if (typeof myString === "string") { 
    myString.charAt(0); // ok 
} 
+0

を行う必要があります良い仕事の男は、私は 'の記憶していない!オペレーター。これは私を非常に助けてくれる、ありがとう! – Carlinhos

関連する問題