Angular 6 лучший способ упорядочить функции, не ориентированные на http - PullRequest
0 голосов
/ 16 ноября 2018

Я не силен в RxJS, поэтому ищу руководство о том, как лучше всего связать последовательность простых не http.get и т. Д. Функций в Angular, чтобы они происходили синхронно.

Например, каков «лучший» способ выполнить их последовательно в компоненте?

  function1() {
    setTimeout(function(){ alert("Hello 1"); }, 3000);
  }

  function2() {
    setTimeout(function(){ alert("Hello 2"); }, 6000);
  }

  function3() {
    setTimeout(function(){ alert("Hello 3"); }, 1000);
  }

  function4() {
    setTimeout(function(){ alert("Hello 4"); }, 750);
  }

Ответы [ 2 ]

0 голосов
/ 17 ноября 2018

Если функции являются синхронными (не асинхронными, как вызов Http) и не возвращают наблюдаемые, то вы можете просто вызывать их по порядку, и они будут выполняться по порядку:

ngOnInit() {
  function1();
  function2();
  function3();
  function4();

}
0 голосов
/ 17 ноября 2018

Если у вас есть асинхронный вызов, вы можете посмотреть forkJoin из rxjs.

Вот пример демонстрации - https://stackblitz.com/edit/typescript-bqxg9x

Ссылка - https://www.learnrxjs.io/operators/combination/forkjoin.html

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