У меня есть эта асинхронная функция, которая использует http.get внутри обещания.Отклонить обещание в блоке catch http: 0get
private _getSchema(fileName): any {
return new Promise((resolve, reject) => {
this.http.get(fileName)
.map(this._extractData)
.catch(this._handleError)
.subscribe(schema => resolve(schema));
});
};
Вместо this._handleError вызова в блоке поймать, я хотел бы отвергнуть свое обещание и передать отклонять объект ошибки. Как мне это сделать?
попытка:
private _getSchema(fileName): any {
return new Promise((resolve, reject) => {
this.http.get(fileName)
.map(this._extractData)
.catch(err => reject(err))
.subscribe(schema => resolve(schema));
});
};
дает ошибка:
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<{}>'.
Я использую машинопись
делает только '.catch (reject)' work? – dandavis