ton*_*nyf 0 observable rxjs typescript angular
使用Angular中的RxJS Observables
this.myService.getEmp(personEmpId).subscribe(
result => {
this.personName = result.person_name;
},
error => {
console.log("EE:",error);
}
);
Run Code Online (Sandbox Code Playgroud)
如何测试我对该服务的订阅是否返回NULL结果,即根本找不到记录?
我尝试添加错误部分,但这没有触发控制台消息。
此刻,我似乎收到以下错误消息:
ERROR TypeError: "result is null"
Run Code Online (Sandbox Code Playgroud)
您可以在订阅服务之前添加过滤器,如下所示:
// add this import on top of your source file
import { filter } from 'rxjs/operators'
this.myService.getEmp(personEmpId)
.pipe(filter(result) => !!result)
.subscribe(
result => {
this.personName = result.person_name;
},
error => {
console.log("EE:",error);
}
);
Run Code Online (Sandbox Code Playgroud)
如果要在Web服务不返回任何内容时添加某些功能,则可以在成功回调中执行以下操作:
this.myService.getEmp(personEmpId)
.subscribe(
result => {
if (result) {
this.personName = result.person_name;
} else {
// do something
}
},
error => {
console.log("EE:",error);
}
);
Run Code Online (Sandbox Code Playgroud)