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