Серийный вызов API в angular6 - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть родительский компонент с двумя дочерними компонентами.Каждый дочерний компонент имеет вызов API OnInit с определенной датой, которая будет отображаться в этих компонентах.

Могу ли я вызывать этот API серийно?Итак, сначала загрузите api 1 и thent api 2?

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Это может быть достигнуто с помощью ForkJoin, который позволит Http-вызову инициировать асинхронный и параллельный вызов.Вот код

const apiCalls = [
   service.method1(),
   service.method2(),
];

return forkJoin(apiCalls).map((results)=>{
    console.log(results);
    return results;
});

Примечание: оба метода method1 () и method2 () вернут Observable.

0 голосов
/ 28 сентября 2018

Использование Concat

Concat объединит две наблюдаемые в объединенную последовательность, но вторая наблюдаемая не начнет излучать, пока не завершится первая.

let first = Observable.timer(10,500).map(r => {
  return {source:1,value:r};
}).take(4);
let second = Observable.timer(10,500).map(r => {
  return {source:2,value:r};
}).take(4);
first.concat(second).subscribe(res => this.concatStream.push(res));

Ссылка: http://www.syntaxsuccess.com/viewarticle/combining-multiple-rxjs-streams-in-angular-2.0

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