在Angular中调用数据服务时,我遇到了有关 vector<vector <int> > test;
test.resize(1000000);
#pragma omp parallel num_threads(8)
{
#pragma omp for
for (int i = 0;i < 1000000;i++)test[i].resize(5000);
}
和可观察对象的使用的体系结构问题。
假设我有以下内容:
rxjs
如果找不到带有给定displayDetails(id: String): void {
this._dataService.getById(id).subscribe(o => this.currentItem = o);
}
的商品怎么办?当前,我的服务向调用者返回一个未定义的对象,这可能导致一个未定义的对象被设置为当前项,然后在最坏的情况下将数据绑定错误打印到控制台。
是否有一种普遍接受的方法?如果无法加载具有给定id
的项目,最好返回调用error
函数?
答案 0 :(得分: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
抛出异常,如果服务器发出错误的请求错误或在处理可观察数据时发生任何逻辑错误。