Angular 6排序不面向HTTP的函数的最佳方法

时间:2018-11-16 20:59:36

标签: angular rxjs synchronization

我对RxJS并不满意,因此正在寻找有关如何最好地在Angular中链接一系列简单的非http.get等函数的指南,以使它们以同步方式发生。

例如在组件中按顺序运行这些“最佳”方法是什么?

  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 :(得分:2)

如果函数是同步的(不像Http调用那样异步)并且不返回观察值,那么您可以按顺序调用它们,它们将按顺序执行:

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

}

答案 1 :(得分:1)

如果您有异步通话,则可以从forkJoin中查找rxjs

以下是示例演示-https://stackblitz.com/edit/typescript-bqxg9x

参考-https://www.learnrxjs.io/operators/combination/forkjoin.html