使用异步/等待语句或 RxJS 的相关操作符
在 Angular 中等待方法完成可以通过异步/等待语句或 RxJS 的相关操作符来实现。下面以具体代码示例来说明:
在方法调用时,使用关键字 await 等待方法完成。该方法必须声明为异步函数(async function),如下所示:
async ngOnInit() { await this.loadInitialData(); // 这里可以保证 loadInitialData() 方法完成后再执行后续代码 }
使用 RxJS 中的操作符,可以在 Observable 中使用 pipe() 方法来等待方法完成,如下所示:
ngOnInit() { this.loadInitialData() .subscribe(data => { // 这里可以保证 loadInitialData() 方法完成后再执行后续代码 }); }
其中,loadInitialData() 必须返回 Observable 对象。
参考文献: