为什么角度生命周期挂钩看起来是同步的

时间:2019-10-14 09:34:34

标签: angular angular-lifecycle-hooks

我有一个带有一些生命周期挂钩的组件。

通过同步,我的意思是一个接一个地执行钩子。

export class MyComponent implements OnInit, OnChanges, AfterContentInit, AfterViewInit {
  ngOnInit() {
    console.log('ngOnInit');
    setTimeout(() => {
        console.log('setTimeout');
    });
  } 

  ngOnChanges(changes: SimpleChanges): void {
    console.log('ngOnChanges');
  }

  ngAfterContentInit(): void {
    console.log('ngAfterContentInit');
  }

  ngAfterViewInit(): void {
    console.log('ngAfterViewInit');
  }
}

有两种情况

  1. 它们是同步的-最后的setTimeout调用是 本身是有道理的。但是有人可以指出我的任何角度吗 文档或支持它的Angular代码。

  2. 如果不是-有人可以帮我理解为什么setTimeout在 结束。

我知道事件循环是如何工作的,生命周期挂钩是按顺序运行的,但是我的问题是Angular是如何实现的?当我在chrome调试模式下查看调用堆栈时,找不到任何序列。

是否可以确保上述示例中的setTimeout将在所有上述钩子之后运行?

0 个答案:

没有答案