J'ai cette classe simple:Angular2 - comment mélanger la coutume et a déclaré arguments dans le constructeur
import {Router} from '@angular/router';
export class NotLogged {
constructor(error, private router: Router) {
alert('Not logged in !');
this.router.navigate(['/']);
}
}
Et puis je suis en train de l'appeler d'un service:
if(error.status === 401)
return Observable.throw(new NotLogged(error.json()));
Bien sûr, je obtenez une erreur Supplied parameters do not match any signature of call target
. Comment puis je faire ça ?
Merci d'avance.
On dirait qu'il est supposé être 'class NotLogged extends Error'. Et ce serait l'erreur elle-même. La conception de la classe a mal tourné. 'router.navigate' renvoie une promesse et ne devrait pas être perdue car elle peut être utile pour le flux de contrôle. Évidemment, une promesse ne peut pas non plus être retournée à partir d'une classe d'erreur. – estus
3 des réponses sont bonnes, j'ai choisi le plus clair pour moi, et a augmenté tous les 3. Merci. –