我在我的Angular 2应用程序中使用RxJS observables。我试图获取员工列表,如果员工ID以'MA'结尾,我不希望他们成为添加到列表中。以下是我的代码:如何使用基于模式的RxJS observables过滤数据
getEmployees(): any {
return this.employeeService.get("http://localhost:9080/employees")
.map((employees: any) => employees.map((employee: any) => {
let empcode: string = employee.empcode;
if (empcode.lastIndexOf("MA") == -1) {
return { empText: empcode+ ' - ' + employee.empName, data: employee};
}
return { empText: '', data : null};
}));
}
我不能够过滤记录,它返回我所有的values.I有两个return语句,以便它返回所有的价值,但如果我删除其中的一个,我得到以下错误:
没有最好的常见类型的返回公式中存在
由Web服务返回的JSON是按以下格式:
{
employeeCode: "EMPCT",
employeeName: "Tom",
role: "HR"
}
那么你能否让我知道在这种情况下过滤Web服务返回的记录的最佳方式是什么。
“为什么不使用过滤功能?”是的,他当然应该。但不是'Array'中的'filter'。他应该使用'Observable'中的过滤器。请参阅http://stackoverflow.com/a/40678593/2398593 – Maxime
一般来说,我只同意你这里的序列是由数组组成的。 RX过滤器将通过或阻止整个结果,在这种情况下,这不是期望的行为 – Meir
我的坏,你是绝对正确的:) – Maxime