繁体   English   中英

如何在 Angular 2 中继续之前等待可观察方法完成

[英]How to wait for a observable method to finish before proceeding in Angular 2

我是 Angular 的新手,我正在努力修复用 Angular 2 编写的东西。在该方法中,我们调用了可观察方法,之后我们为变量赋值。 在分配值之前,我需要 obersavable 方法来完成执行。 下面给出的代码供您参考。

Method1(): void {
     this.Service.getData()
        .subscribe(
        res => {
          
        },
        error =>  this.errorMessage = <any>error);
        this.gotData = true;
}

因此,如上所示,我需要在 getData Observable 方法执行完毕后将 true 分配给 gotData 变量。 但是在我们实际获取数据之前,gotData 就被赋值为 true。

请帮助我等到可观察方法完成执行。 谢谢 !

听起来你需要阅读 Observables 和 Subscriptions。 Angular文档

或者,subscribe() 方法可以在行中接受回调 function 定义,用于下一个、错误和完成处理程序。 例如,以下 subscribe() 调用与指定预定义观察者的调用相同:

在您的情况下,您命名为res的回调将在您的可观察方法完成后被调用。

所以你的代码可能是:

Method1(): void {
     this.Service.getData()
        .subscribe(
        res => {
          this.gotData = true;
        },
        error =>  this.errorMessage = <any>error
       );

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM