angular - 仅在使用 Angular 6 完成另一个方法时调用一个方法
问题描述
我必须在 ngOnInit() 期间执行 2 个方法,但只有在 method1() 完全完成时才必须执行 method2()。我不是在做 HTTP 请求,这两种方法都属于同一个组件。
ngOnInit() {
this.method1();
this.method2(); //need to be executed only when method1() is finished
}
method1() {
//do something
}
method2() {
//do something but need to be started only when method1 is finished
}
这个问题的最佳解决方案是什么?
解决方案
您的代码完全有效。如果您不执行任何异步操作,那么在另一个之后执行一个函数、语句和表达式是默认行为...
即使调用异步操作,所有剩余的语句和表达式仍以同步方式执行,直到到达调用堆栈的末尾。异步操作被放到事件循环中,以便稍后执行。
异步操作的例子不仅是 HTTP 调用,setTimeout
还有setInterval
.
您可以在此处阅读有关事件循环的更多信息。
推荐阅读
- flutter - 从上一页重置动画
- kotlin - Kotlin 抽象类必须有构造函数并被初始化
- google-app-engine - 在 GAE Firestore DatastoreException 中启动查询时出错:找不到匹配的索引
- asp.net - System.Configuration.ConnectionStringSettingsCollection.this[string].get 在类中返回 null
- vuejs2 - [Vue 警告]:尝试使用 vee-validate 时未找到注入“$validator”错误
- python - 训练默认感知器标注器
- time-series - HMM:学习信号中的状态。(使用 hmmlearn python 库)
- javascript - 渲染后未调用 componentDidUpdate
- html - 根据表格行下载不同的pdf
- scala - 无法从 sbt 看到在 docker-compose 中设置的环境变量