Я пытаюсь работать с оператором фильтра Angular 7. У меня есть API, выполненный в Express.Это простой пример.Этот API возвращает массив Object.Примерно так:
[
{name: 'Admin'},
{name: 'Invitado'},
{name: 'Ejecutivo'}
]
Код API следующий:
function listRole(req, res) {
var params = req.params;
var page = 1;
var cant = 10;
if ( params.page ){
page = parseInt(params.page);
}
if ( params.cant ){
cant = parseInt(params.cant);
}
RoleModel.find().paginate(page, cant, (err, roles, total) => {
if ( err ) {
return res.status(500).send({
message: err
});
}
return res.status(200).send(
roles
);
})
}
В приложении Angular 7 у меня есть служба, которая возвращает список ролей, соответствующих параметру.
Мой сервис:
getRoles(role: string): Observable<any> {
return this.http.get<any[]>(this.url).pipe(
filter( (e: any) => {
console.log(e) // this return an array
return e.name === role;
})
);
}
Когда я подписываюсь на этот сервис, данные становятся пустыми:
this.userService.getRoles('Admin').subscribe( data => {
console.log(data);
});
Мой вопрос: Почему значениее в фильтре операторов вернуть массив? Я думаю, что я должен перебрать массив
Любая помощь благодарна