我有一个带有一些生命周期钩子的组件。
同步是指一个接一个地执行钩子。
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 文档或 Angular 代码来支持它。
如果没有 - 谁能帮我理解为什么 setTimeout 最后运行。
我知道事件循环是如何工作的,并且生命周期钩子是按顺序运行的,但我的问题是 Angular 是如何实现它的?当我在 chrome 调试模式下查看调用堆栈时,我没有找到任何序列。
是否保证上面示例中的 setTimeout 将在上述所有钩子之后运行?