2017-02-13 52 views
-1

返回類型我有一個打字稿函數返回Elasticsearch的新實例:打字稿 - 的函數,返回新實例

public getClient(): any { 
    return new Elasticsearch.Client({ 
     host: ['url', ':', 'port'].join(''), 
     plugins: [ESDeleteByQuery], 
     log: 'logType' 
    }); 
} 

我想將任何函數的返回類型更改爲更具體的東西。我試過,只是出於好奇,到返回類型更改從任何布爾{},並順利通過編譯事件,雖然它不符合新Elasticsearch的返回值。客戶(...)。什麼應該是正確的函數返回類型?

+2

'Elasticsearch.Client'? –

回答

0

有疑問時,不要打擾...打字稿會推斷返回什麼的返回類型:

enter image description here

+0

問題是,如果將函數的返回類型設置爲** void **(正如我在此頁面上的代碼中所述),我期望TypeScript生成錯誤。它通過編譯,而如果我返回**新的Elasticsearch.Client(...)**,這很奇怪。 –

+0

我不知道該告訴你什麼; http://imgur.com/8hImGXQ將它設置爲'void'或'boolean',它會失敗。將它設置爲'{}',它會通過,因爲它將允許任何對象通過...'Elasticsearch.Client'是你問的問題的答案。 :) –