Javascript 无法使用异步管道RXJS-ANGULAR

Javascript 无法使用异步管道RXJS-ANGULAR,javascript,rxjs,Javascript,Rxjs,当我想使用异步管道时,我不能直接显示我的观察值。 我可以不使用管道异步,它可以工作。我的注释代码工作得很好,但我真的很想单独使用异步管道来处理Angular和unsubscribe 用户服务 public newsfeed: BehaviorSubject<MessageUser> = new BehaviorSubject(null); reloadNewsFeed(): Observable<MessageUser> { return this.ht

当我想使用异步管道时,我不能直接显示我的观察值。 我可以不使用管道异步,它可以工作。我的注释代码工作得很好,但我真的很想单独使用异步管道来处理Angular和unsubscribe

用户服务

  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而不直接返回可观察对象?