我有一个带有一些生命周期挂钩的组件。
通过同步,我的意思是一个接一个地执行钩子。
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');
}
}
有两种情况
它们是同步的-最后的setTimeout调用是 本身是有道理的。但是有人可以指出我的任何角度吗 文档或支持它的Angular代码。
如果不是-有人可以帮我理解为什么setTimeout在 结束。
我知道事件循环是如何工作的,生命周期挂钩是按顺序运行的,但是我的问题是Angular是如何实现的?当我在chrome调试模式下查看调用堆栈时,找不到任何序列。
是否可以确保上述示例中的setTimeout将在所有上述钩子之后运行?