什么是角观测服务的正确的行为时,未找到的对象?

问题描述 投票:-1回答:1

我遇到了一个问题,建筑关于使用rxjs的,使在角数据业务呼叫时可观测量。

假设我有以下几点:

displayDetails(id: String): void {
  this._dataService.getById(id).subscribe(o => this.currentItem = o);
}

如果给定id的项目不能被发现的?目前,我的服务返回一个未定义的对象给调用者,这可能导致一个未定义的对象被设置为当前项目,然后数据绑定错误被打印到在最坏的情况下控制台。

是否有这样的普遍接受的方法呢?它会更好返回调用error功能时给定id的项目不能加载?

angular angular-services
1个回答
0
投票

不,返回error是不恰当的,因为undefined不是error。相反,你可以处理你的subscribe并显示错误消息中或者需要采取任何行动。

displayDetails(id: String): void {
    this._dataService.getById(id).subscribe(o => { 
                if(o) {
                  this.currentItem = o;
                }
                else {
                  //show or log error
                }
      });
  }

Errors被抛出前,如果从您的服务器或在处理观察数据所发生的任何逻辑错误,错误请求错误。

© www.soinside.com 2019 - 2024. All rights reserved.