在 subscribe assign value to variable.once 它被分配,下一个方法应该执行

In subscribe assign value to variable.once it is assigned, next method should executed

我需要在订阅中为变量赋值,并将该变量传递给一个方法。分配后,我现在需要执行 method.Right,然后再将其分配给该方法并获取默认值并执行

示例:

loginIntoApp(){
  this.userService.getIfuserPresent(this.login.firstName,this.login.password).pipe().
       subscribe(data=> {
        this.hasUser = data;
        console.log(`Logging into App` +this.hasUser);
     }
     );

     this.fireEvent(this.hasUser);

  }

所以这里在subscribe中为hasUser赋值之前,下一个方法(fireEvent)正在执行,所以它导致subscribe中的第二个method.variable失败是在第二个方法执行之后赋值的。从订阅返回值需要更多时间。那么我们是否有任何 Operator 订阅等待下一个方法执行直到它被分配。

根据定义,subscribe() 是异步的,这意味着 this.fireEvent(this.hasUser); 将在您的服务 returns 响应之前被调用。

您必须调用订阅调用结果中的下一行:

loginIntoApp(){
    this.userService.getIfuserPresent(this.login.firstName,this.login.password).pipe().
        subscribe(data=> {
            this.hasUser = data;
            console.log(`Logging into App` +this.hasUser);

            this.fireEvent(this.hasUser);
        }
    );
}