возвращение наблюдаемых значений в другое наблюдаемое событие Angular - PullRequest
0 голосов
/ 14 января 2019

Я пишу код, который будет извлекать набор URL-адресов, и, когда они будут успешно получены, из них будет построена конечная точка и будет вызван API, который будет возвращать данные соответствующим образом. То, что я пытаюсь сделать, выглядит примерно так

 getUrls(): Subscription {
  return this.common.getUrls().subscribe((data) => {
  this.urls = data;
},
  (error) => { },
  (): Observable<any> => {
    const _getUrl = this.urls.baseUrl + this.urls.someEndpoint;
    return this.http.get<any>(_getUrl);
  }
);

}

Я не уверен, является ли это правильным способом решения вышеуказанной проблемы. Подскажите, пожалуйста, как сделать то же самое.

1 Ответ

0 голосов
/ 14 января 2019

Наблюдаемые - это потоки, поэтому я бы посоветовал вам связывать свои вызовы, а не следовать цепочкам, основанным на обещаниях, я не уверен, как работает ваш код, но что-то похожее на это должно работать.

getUrls()
.map(data=> data.urls)
.switchMap(urls => {
    const _getUrl = this.urls.baseUrl + this.urls.someEndpoint;
    return this.http.get<any>(_getUrl);
}).subscribe(urlResponse => {
 // do whatever with this response
});

Старайтесь не помещать наблюдаемые в другие наблюдаемые, также я не проверял вышеупомянутую линию, но я уверен, что она должна указать вам правильное направление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...