一尘不染

Flutter StreamBuilder与FutureBuilder

flutter

StreamBuilder和之间的主要区别是什么FutureBuilder

  • 使用什么以及何时使用?

  • 他们打算执行哪些任务?

  • 他们每个人如何侦听动态列表中的更改?


阅读 545

收藏
2020-08-13

共1个答案

一尘不染

双方StreamBuilderFutureBuilder具有相同的行为:他们倾听他们各自的对象上的变化。并在收到新值通知时触发新构建。

因此,最终,他们的区别在于他们收听对象的方式。

Future就像Promise在JS或TaskC#中一样。它们是异步请求的表示。Futures只有一个回应。的常见用法Future是处理http调用。您可以听到的Future是状态。无论是完成,成功完成还是出错。就是这样。

Stream另一方面就像IteratorJS中的async
。可以将其同化为随时间变化的值。它通常是Web套接字或事件(例如点击)的表示。通过监听a,Stream您将获得每个新值,以及是否Stream有错误或已完成。

他们每个人如何侦听动态列表中的更改?

A Future无法收听变量更改。这是一次回应。相反,您需要使用Stream

2020-08-13