返回一个可观察值的布尔值

时间:2019-07-27 17:43:23

标签: angular

如何使此函数返回true或false值

  autenticacion(){
    let bool:boolean;
    this.auth.autenticacion(this.auth.getToken()).subscribe(data=>{
      if(data.data.token===this.auth.getToken()){
        bool=true;
      }else{
        bool=false;
      }
    });
    console.log(bool);
    return bool;
  }

this.autenticacion();

当我调用该函数时,我检查它是否通过控制台日志返回了我,但是它返回了一个未定义的值,有人知道如何使我返回false或true

1 个答案:

答案 0 :(得分:0)

如果您想返回一个值,则不应该订阅observable。 试试这个

autenticacion(){
  return this.auth.autenticacion(this.auth.getToken()).pipe(map(data=>{
    if(data.data.token==this.auth.getToken()){
      return true;
    }else{
      return false;
    }
  }));

}

然后

this.autenticacion().subscribe(val => console.log(val)