Я пытаюсь вызвать несколько наблюдаемых один за другим. Вот мой код:
// service1
login(username: string, password: string): any {
this.service2.firstObservable(username, password)
.pipe(map(
data => {
if (data) {
return this.service2.secondObservable(data, username, password)
.subscribe(token => {
return true;
});
}
},
error => {
this.service.error(error);
return false;
}
));
}
Выполнение:
this.service1.login(this.f.username.value, this.f.password.value)
.pipe(map(
data => {
// Login is successful
}
));
Я получаю:
Cannot read property 'pipe' of undefined
Очевидно, что service1.login возвращает неправильное значение. Можно ли как-то заставить это работать?
Спасибо
Обновление 1.
login(username: string, password: string): any {
return this.service1.firstObservable(username, password)
.pipe(switchMap(
data => this.service1.secondObservable(data, username, password)
));
}