Похоже, вам нужен ответ от обеих служб одновременно; если это так, то RxJS ForkJoin - ваш друг! Вы можете использовать
blockquote>forkJoin
следующим образом -import { forkJoin } from 'rxjs'; submit() { const combined = forkJoin([ this.data.getUsers(), this.otherData.getUnitAssignments() ]); combined.subscribe((response) => { // you will get 2 arrays in response this.dataSource.push(response[0].rows); this.dataSource.push(response[1].rows); }); }
- FYI ,
forkJoin
ожидает завершения каждого http-запроса и группирует все observables, возвращаемые каждым вызовом http в один наблюдаемый массив, и, наконец, возвращают этот наблюдаемый массив.
Может быть, немного поздно, но ответом на весь этот беспорядок является то, что call () используется в JS для наследования. Если мы сравним это с Python или PHP, например, вызов используется соответственно как super (). init () или parent :: _ construct ().
Это пример его использования, который проясняет все:
function Teacher(first, last, age, gender, interests, subject) {
Person.call(this, first, last, age, gender, interests);
this.subject = subject;
}
Ссылка: https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/ Наследование