【问题标题】:how to get the async pipe working with rxjs如何让异步管道与 rxjs 一起工作
【发布时间】:2021-07-19 11:38:58
【问题描述】:

我需要帮助,因为我的异步管道的 else 加载不会触发,即使数据加载正常,加载模板在订阅时也不会触发,我的服务中有一个 BehaviorSubject。 如果有人帮助我解决任何问题,我将不胜感激,因为我尝试了很多东西,但无法达到预期的结果。 我的预期结果是,在选择日期时,它会触发订阅,并且在订阅时触发加载,如果长度大于 0,则加载表,如果不是,则显示模板没有项目。 非常感谢您。

【问题讨论】:

    标签: javascript angular async-await rxjs


    【解决方案1】:

    BehaviourSubject() 是一个 observable,因此您需要先订阅您的数据源,然后再将您的主题设置为 observable 的结果。没有订阅就没有结果!

    在您的测试中尝试以下操作(如果列表在您的 api 服务中是可观察的):

    this.apiAgenda().list.subscribe(res => 
    {
      this.list$.next(res); 
    });
    

    【讨论】:

    • 您好朋友,我在返回数据的同一服务中使用 .next() 订阅:/ 所以这不是解决方案
    • 我可以建议您将 subscribe() 移动到您的 UI 组件中。 list$ 是一个异步 observable,仅当您调用 next() 将列表流式传输到 UI 组件中 list$ observable 的相应值时才会起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-18
    • 1970-01-01
    相关资源
    最近更新 更多