[英]Infer the type of object keys
是否可以在TypeScript中聲明結構,以便推斷出分配給jQuery.ajax
的error
鍵的function
的類型? 然后,如果嘗試分配錯誤的函數簽名,我們可能會報告類型不匹配的情況。
$.ajax({
type: "POST",
url: listUrl,
jsonp: 'jsonp',
dataType: "jsonp",
success: OnSuccesCall,
error: OnErrorCall
});
function OnErrorCall(jqXHR, textStatus, errorThrown) {
...
}
應該已經在有限的程度上為您完成了此操作(受您使用的定義和受可選的jQuery API的限制)。
var listUrl = 'http://www.example.com/';
function OnSuccessCall (data, thing: boolean, another: boolean) {
// implementation
}
function OnErrorCall () {
// implementation
}
$.ajax({
type: "POST",
url: listUrl,
jsonp: 'jsonp',
dataType: "jsonp",
success: OnSuccessCall,
error: OnErrorCall
});
在上面的示例中, OnSuccessCall
將導致TypeScript發出警告,因為它沒有與成功屬性兼容的簽名,該屬性期望(data:any, textStatus: string, jqXhr: JQueryXHR) => any
。
請注意,您可以提供忽略所有這些功能的函數,並且該函數將兼容(因為您不必對傳遞的參數做任何事情)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.