首页 > 解决方案 > 在 Angular 中,.asObservable() 函数不返回真值

问题描述

我是 Angular 新手,我的服务是这样的:

import { Subject, Observable } from 'rxjs';


export class DbSrvConnService {
        user_title=new Subject<any>();
        constructor(private http:HttpClient) { }


send_user(value)
  {
    this.user_title.next(value);
    console.log(value);
  } 
 get_user():Observable<any>{
    console.log(this.user_title.asObservable());
    return this.user_title.asObservable();
  }

在 send_user() 函数中的 true 值写入控制台,但在控制台接收的 get_user() 中:

Observable {_isScalar: false, source: Subject}

在调用服务的组件中,我这样做:

constructor(private DbSrvConnService:DbSrvConnService) { 
    this.DbSrvConnService.get_user().subscribe(
      (result)=>{
        alert(result);
      }
    )
  }

但不显示警报

标签: angular

解决方案


asObservable返回一个 Observable。为了从 Observable 中获取最新值,您需要订阅。

this.<serviceName>.get_user().subscribe(result=>{
// here you find the observable latest value

})

推荐阅读