[英]How to handle TSLint Errors in my typescript example
我有以下用Typescript編寫的angularjs工廠示例,但收到三個TSLint錯誤:
第3行:預期的呼叫簽名:“ FirebaseFactory”具有typedef
第8行:預期的呼叫簽名:'AuthFactory'具有typedef
第9行:預期的呼叫簽名具有typedef
雖然我知道它仍然是有效的Typescript,但我還是希望確保保留TS包括的所有類型檢查優點。
module app.services {
export function FirebaseFactory () {
return new Firebase('https://sample.firebaseio.com');
}
angular.module('app.services').factory('firebaseFactory', FirebaseFactory);
export function AuthFactory (DB: Firebase, $firebaseAuth: AngularFireAuthService) {
return function () {
return $firebaseAuth(DB);
};
}
AuthFactory.$inject = ['firebaseFactory', '$firebaseAuth'];
angular.module('app.services').factory('authFactory', AuthFactory);
}
有沒有一種創建接口的方法,以便我僅導出接口而不是函數? 之前,我已經通過實現為類的其他服務來做到這一點。
https://github.com/palantir/tslint#supported-rules說:
“呼叫簽名”檢查函數的返回類型
使用此規則(我個人更喜歡禁用它),您應該聲明類型:
export function AuthFactory (...): () => AngularFireAuth
無論您是否明確聲明類型,甚至聲明接口:
export var AuthFactory: { (): AngularFireAuth; } = function (...)
從外觀上看,您的模塊看起來相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.