所有人。
我想知道可观察项在哪里失败,例如:
如果在deleteProfOffer或updateProfOffer中失败,当我发现错误时如何知道。
我已经尝试过:
let updateOffer = this._op.updateOfferInfo(offerJob);
let deleteProfOffer = this._op.deleteProfessionsToOffer(this.offer.id, deleteProf2);
let updateProfOffer = this._op.setProfessionsToOffer(this.offer.id, updateProf2);
forkJoin([updateOffer, deleteProfOffer, updateProfOffer]).subscribe(results => {
this.navCtrl.pop();
if (offerJob.type_offer === 'job_offer')
this.presentToast(`La oferta de trabajo se ha ha modificado correctamente`);
else
this.presentToast(`La oferta educativa se ha ha modificado correctamente`);
}, error => {
if (error[0])
alert("ERROR 0");
if (error[1])
alert("ERROR 1");
if ((error[2]))
alert("ERROR 2");
this.navCtrl.pop();
console.log(error)
}
);
答案 0 :(得分:1)
解决方案是:
forkjoin(
callWithErrorHandler(updateOffer),
callWithErrorHandler(deleteProfOffer),
callWithErrorHandler(updateProfOffer)
).subscribe(...)
callWithErrorHandler(toObserve: Observable<any>):Observable<any>{
return toObserve.pipe(
catchError( error => console.log(error) )
)
}
这将包装您的呼叫并添加一个“错误处理程序”(catchError()部分)。
热烈的问候