В приложении Angular 7 у меня есть часть метода службы, которая должна возвращать Observable
, чтобы в свою очередь подписаться каким-то клиентским кодом.
Этот метод основан наШаблон «вложенных подписок», о чем я читал, кстати, что это своего рода анти-шаблон.Но, честно говоря, я недостаточно квалифицирован в Angular, чтобы заменить его.
Код выглядит примерно так:
public signIn(customer): Observable<Customer> {
return this.apiProvider.getCustomerTokens(customer)
.pipe(map(token => {
return this.apiProvider.getCustomer(token)
.subscribe(customerData => {
// some code here...
});
}));
}
Это вызывает синхронную проблему, вероятно, из-заТот факт, что первое return
интерпретируется перед вторым, несмотря на то, что клиентский код фактически должен подписаться на возвращаемое значение second .
Есть идеи о том, как заставить его работать должным образом?
Спасибо