說我有如下定義:如何判斷typescript從參數對象中獲取泛型類型?
interface Options<T = any, K = void> {
scope?: K,
success: (this: K, result: T) => any,
failure: (this: K, result: T) => any
}
interface HttpClient {
request<T>(opts: Options<T>)
}
從上面的定義,打字稿不會給我正確的類型,這在success
& failure
。我如何告訴Typescript
K應該是scope
屬性的第一個參數。
實例:
class Abc {
//...
save() {
var client = new HttpClient()
client.request({
scope: this,
success: function(result) {
this // here no intellisense
}
})
}
notify(event, data) {
this.element.dispatchEvent(new CustomEvent(event, { detail: data }));
}
}
您是否已經嘗試使用[箭頭函數](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions):'success:(result)=> {this.notify ....}'? –
這是關於在JavasSript中鍵入intellisense,在Typescript的幫助下,所以您的解決方案不能解決問題。感謝您的幫助。 – bigopon