2016-11-11 27 views
0

我可以這樣做嗎?這是可能的 ? 如果不是,有一個替代方法來做到這一點?使用Typescript返回空白或任何其他類型

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

當我在視覺工作室2015利用這一點,有一個錯誤「ngOnInit()訂閱( )'在void類型上不存在,但ngOnInit()方法的返回值是'void | Observable '和subscribe()是來自Observable的方法。如果我想使用這個,需要做一個演員'(ngOnInit()as Observable ).subscribe()' – Carlinhos

回答

3

是的,這是可能的。

另一種方法是爲具有Observable<TModel> | undefined返回類型,這將嚴格null檢查很好地工作:

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

相關問題