J'ai cette fonction asynchrone qui utilise http.get dans une promesse.Rejeter une promesse dans un bloc catch http.get
private _getSchema(fileName): any {
return new Promise((resolve, reject) => {
this.http.get(fileName)
.map(this._extractData)
.catch(this._handleError)
.subscribe(schema => resolve(schema));
});
};
Plutôt que this._handleError d'appel dans le bloc catch, je voudrais rejeter ma promesse et passer rejeter l'objet d'erreur. Comment je fais ça?
tentative:
private _getSchema(fileName): any {
return new Promise((resolve, reject) => {
this.http.get(fileName)
.map(this._extractData)
.catch(err => reject(err))
.subscribe(schema => resolve(schema));
});
};
donne erreur:
Argument of type '(err: any) => void' is not assignable to parameter of type '(err: any, caught: Observable) => ObservableInput<{}>'. Type 'void' is not assignable to type 'ObservableInput<{}>'.
J'utilise tapuscrit
fait juste '.catch (reject)' travail? – dandavis