Javascript 无法使用异步管道RXJS-ANGULAR
当我想使用异步管道时,我不能直接显示我的观察值。 我可以不使用管道异步,它可以工作。我的注释代码工作得很好,但我真的很想单独使用异步管道来处理Angular和unsubscribe 用户服务Javascript 无法使用异步管道RXJS-ANGULAR,javascript,rxjs,Javascript,Rxjs,当我想使用异步管道时,我不能直接显示我的观察值。 我可以不使用管道异步,它可以工作。我的注释代码工作得很好,但我真的很想单独使用异步管道来处理Angular和unsubscribe 用户服务 public newsfeed: BehaviorSubject<MessageUser> = new BehaviorSubject(null); reloadNewsFeed(): Observable<MessageUser> { return this.ht
public newsfeed: BehaviorSubject<MessageUser> = new BehaviorSubject(null);
reloadNewsFeed(): Observable<MessageUser> {
return this.http.get<MessageUser>('api/user/newsfeed').pipe(
tap((x: MessageUser)=>{
this.newsfeed.next(x)
}), switchMap(()=>{
return this.newsfeed
}))
};
public新闻提要:BehaviorSubject=newbehaviorsubject(null);
reloadNewsFeed():可观察{
返回这个.http.get('api/user/newsfeed').pipe(
点击((x:MessageUser)=>{
this.newsfeed.next(x)
}),开关映射(()=>{
返回此.newsfeed
}))
};
newsfeed.component.ts
//public lesMessage2;
public lesMessages:Observable<MessageUser>
constructor(
private userService: UserService,
) { }
ngOnInit() {
// It does not work
this.lesMessages = this.userService.reloadNewsFeed()
// OK that works
// this.subMessage = this.userService.reloadNewsFeed().subscribe((user: MessageUser)=>{
// console.log(user);
// this.lesMessage2 = user;
// }, (err)=>{
// console.log(err);
// })
}
//公共消息2;
公共信息:可见
建造师(
私有用户服务:用户服务,
) { }
恩戈尼尼特(){
//它不起作用
this.lesMessages=this.userService.reloadNewsFeed()
//好的,这样行
//this.subMessage=this.userService.reloadNewsFeed().subscribe((用户:MessageUser)=>{
//console.log(用户);
//this.lesMessage2=用户;
//},(err)=>{
//控制台日志(err);
// })
}
newsfeed.component.html
<span *ngIf="lesMessage | async; let user">
<p>Iterer sur mon Subjects : <strong> {{ user.message }} </strong> </p>
</span>
Iterer sur mon Subjects:{{user.message}}
问题是,在TS文件中,您有一个名为this.lesMessages的属性,但在模板中,您尝试订阅“lesMessage”(应该是lesMessages)。尝试更改当前字符串:
... *ngIf="lesMessages | async" ...
我认为您需要返回未解决的承诺,希望此链接将帮助您,这是否回答了您的问题?在我的app.component.html>>Object Object、Object Object、Object Object、Object Object、Object Object[Object Object]、[Object Object Object]和my console.log(我没有错误)上,为什么使用BehaviorSubject而不直接返回可观察对象?