let mydata = [a,b,c,d,1,2,3]
let MissingData = "No data available"
public getData(): Observable<any[]> {
if (this.mydata !== undefined) {
return new Observable(observer => {
observer.next(this.mydata);
observer.complete();
});
}
else if (this.mydata === undefined){
return new Observable(MissingData)
}
然后我将数据中断服务,因此如果有任何数据记录,并且没有数据,则返回MissingDataservice.getData().subscribe((res) => {
console.log (res);
}
最佳答案
您可以像这样手动抛出可观察到的错误。
else if (this.mydata === undefined){
throw Observable.throw(MissingData)
}
然后像这样订阅service.getData().subscribe((res) => {
console.log (res);
}, err => {
console.error(err)
})
因此完整的代码如下所示:let mydata = [a,b,c,d,1,2,3]
let MissingData = "No data available"
public getData(): Observable<any[]> {
if (mydata) {
return new Observable(observer => {
observer.next(mydata);
observer.complete();
});
}
throw Observable.throw(MissingData)
}
//Somewhere in the scripts
service.getData().subscribe((res) => {
console.log (res);
}, err => {
console.error(err)
})
我也做了一些重构,只是为了缩短代码。希望能帮助到你。干杯。
关于javascript - 如何使用Observable进行 Angular 错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63484796/