angular - 在 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);
}
)
}
但不显示警报
解决方案
asObservable
返回一个 Observable。为了从 Observable 中获取最新值,您需要订阅。
this.<serviceName>.get_user().subscribe(result=>{
// here you find the observable latest value
})
推荐阅读
- visual-studio-2017 - Visual Studio 2017 Nuget 安装包构建项目而不是安装/卸载包
- mysql - 避免多重连接以优化 MYSQL 中的查询
- python - 使用直方图进行特征分析——LinAlgError:奇异矩阵
- postgresql - pgadmin4 无法连接到我的 postgres 数据库
- ios - SwiftUI - 检查图像是否存在
- c# - 电子邮件中的 xml 格式
- sql-server - 涉及同一表中的多个列的条件 where 语句
- reactjs - 缺少接口属性错误,但实际上并没有丢失
- typescript - 如何在打字稿枚举中使用计算值?
- android - 如何在调试模式下 Crashlytics 到 Timber