Je souhaite émettre une erreur de l'opérateur cartographique de mon observable en fonction d'une condition. Par exemple, si les données d'API correctes ne sont pas reçues. S'il vous plaît voir le code suivant:
private userAuthenticate( email: string, password: string ) {
return this.httpPost(`${this.baseApiUrl}/auth?format=json&provider=login`, {userName: email, password: password})
.map( res => {
if ( res.bearerToken ) {
return this.saveJwt(res.bearerToken);
} else {
// THIS DOESN'T THROW ERROR --------------------
return Observable.throw('Valid token not returned');
}
})
.catch( err => Observable.throw(this.logError(err) )
.finally( () => console.log("Authentication done.") );
}
Fondamentalement, comme vous pouvez le constater dans le code, si la réponse (objet res) n'a pas 'bearerToken', je souhaite supprimer une erreur. Ainsi, dans mon abonnement, il entre dans le deuxième paramètre (handleError) mentionné ci-dessous.
.subscribe(success, handleError)
Aucune suggestion?