如果我試圖返回一個特定類型的這樣一個承諾:Angular 5的HttpClient:toPromise()接受哪些參數?
public myMethod(): Promise<MyType> {
return this.httpClient.get('/my/url').toPromise();
}
...我得到一個錯誤的返回類型無極<對象>不符合預期的類型無極<的MyType >。這是很容易通過將結果或通過這樣來解決:
public myMethod(): Promise<MyType> {
return this.httpClient.get<MyType>('/my/url').toPromise();
}
還有另一種選擇,但是,爲了提供一個可選的參數給toPromise()函數。我的IDE說參數的類型是「PromiseCtor:PromiseConstructorLike」或「PromiseCtor:typeof Promise」。
public myMethod(): Promise<MyType> {
return this.httpClient.get('/my/url').toPromise(???);
}
我想不通什麼語法會滿足???上面,但是。
關於什麼可以作爲一個有效的參數在這裏填寫任何想法?
我認爲這是要求輸入['Promise'構造(https://developer.mozilla.org/en-US/docs/網絡/ JavaScript的/參考/ Global_Objects /無極)。這可以是本地的,也可以是您最喜歡的承諾庫提供的。這不會幫助你用'MyType',順便說一句。 – Bergi
假設您有特殊類型的承諾MyPromise,您可以傳遞該類型(即MyPromise的構造函數)。目標不是解決你的問題。目標也是返回一個特定類型的Promise。 –