次のファクトリをTypeScriptコードに書き換えるにはどうすればいいですか?ここでは、元のコードは次のとおりです。TypeScript + AngularJS v1:角度ファクトリをTypeScriptに書き換える
export class errorInterceptor {
constructor(private $q:ng.IQService) {
}
public responseError(response:any){
console.error("Error: " + response.statusText);
return this.$q.reject(response);
}
public static getFactory(){
return errorInterceptor;
}
}
app.factory('errorInterceptor',errorInterceptor.getFactory());
しかし、私は次のエラーを取得する:
app.factory('errorInterceptor', function ($q) {
return {
responseError: function (response) {
console.error("Error: " + response.statusText);
return $q.reject(response);
}
}
});
これまでのところ、私は次のことを試してみた
Provider 'errorInterceptor' must return a value from $get factory method.
任意のアイデア? EXTEND
export class errorInterceptor {
// to support minification
static $inject = ["$q"];
constructor(private $q:ng.IQService) {
}
public responseError(response:any){
console.error("Error: " + response.statusText);
return this.$q.reject(response);
}
//public static getFactory(){
// return errorInterceptor;
//}
}
//app.factory('errorInterceptor',errorInterceptor.getFactory());
app.service('errorInterceptor',errorInterceptor);
:
それは動作しますが、私は別のエラースロー: "例外TypeError:プロパティを読み取ることができません未定義の '拒否' を"。何か案が?私がデバッグすると、これが読み取られます。$ qはresponseError内で未定義です – uksz
私は$ httpを傍受するスニペットで自分の答えを拡張しました –
魅力的な作品です! <3 – uksz