gpt4 book ai didi

stream - Dart Streams API(使用 rxdart)与其他响应式库(如 RxJava 和 RxJS)之间的主要区别是什么?

转载 作者:行者123 更新时间:2023-12-03 02:48:26 31 4
gpt4 key购买 nike

现在我正在尝试将现有反应式 Angular 应用程序(基于 RxJS)的逻辑移植到 Flutter。我在使用 dart 流 API 时遇到了很多问题,它的行为似乎与其他 Rx 实现完全不同。

关于以下方面的主要区别是什么:

  • 错误和完成事件
  • null/void值处理
  • 流可重用性
  • 多播(publishrefcountshareReplay)
  • 订阅管理

  • ?

    最佳答案

    来自 Rx Observables vs Dart Streams :
    在许多情况下,Streams 和 Observables 的工作方式相同。但是,如果您习惯于标准的 Rx Observables,Stream api 的某些功能可能会让您感到惊讶。我们在下表中列出了帮助人们理解差异的表格。
    通过阅读 Rx class documentation 可以找到有关以下情况的更多信息。 .

    ┌────────────────────────────────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬───────────────────────────────────────┐
    │ Situation │ Rx Observables │ Dart Streams │
    ├────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────────────────────────────┤
    │ An error is raised │ Observable Terminates with Error │ Error is emitted and Stream continues │
    │ Cold Observables │ Multiple subscribers can listen to the same cold Observable, each subscription will receive a unique Stream of data │ Single subscriber only │
    │ Hot Observables │ Yes │ Yes, known as Broadcast Streams │
    │ Is {Publish, Behavior, Replay}Subject hot? │ Yes │ Yes │
    │ Single/Maybe/Complete ? │ Yes │ No, uses Dart Future │
    │ Support back pressure │ Yes │ Yes │
    │ Can emit null? │ Yes, except RxJava │ Yes │
    │ Sync by default │ Yes │ No │
    │ Can pause/resume a subscription*? │ No │ Yes │
    └────────────────────────────────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴───────────────────────────────────────┘

    关于stream - Dart Streams API(使用 rxdart)与其他响应式库(如 RxJava 和 RxJS)之间的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51096546/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com