1
我有一個使用AngularJS的項目,並且想要在$http
服務之上創建一個包裝。我希望我的請求承諾有abort()
方法。TypeScript:替換現有類型
如果我寫
function request(params:ng.IRequestConfig):my.IRequestPromise {
var promise = $http(params).then(onSuccess, onError);
promise.abort = function() { // => here it fails with error "Property 'abort' does not exist on type 'IPromise<{}>'"
...
}
return promise;
}
失敗與abort
定義行。
我寫了一個接口IRequestPromise
,它通過添加一個abort()
方法擴展了ng.IPromise
。如何讓TypeScript將promise
視爲my.IRequestPromise
而不是ng.IPromise
?
現在它拋出'type'IRequestPromise'不是通用的'。好像我不明白TypeScript的一些重要... – Girafa
您需要返回'unction request(params:ng.IRequestConfig):my.IRequestPromise {'您的界面def看起來像什麼'interface IRequestPromise extends ng .IPromise <{}>'? –
PSL
我的類型是'IRequestPromise'。我需要將它傳遞給自己嗎? 'my.IRequestPromise'? –
Girafa