StreamBuilder和之间的主要区别是什么FutureBuilder。
StreamBuilder
FutureBuilder
使用什么以及何时使用?
他们打算执行哪些任务?
他们每个人如何侦听动态列表中的更改?
双方StreamBuilder并FutureBuilder具有相同的行为:他们倾听他们各自的对象上的变化。并在收到新值通知时触发新构建。
因此,最终,他们的区别在于他们收听对象的方式。
Future就像Promise在JS或TaskC#中一样。它们是异步请求的表示。Futures只有一个回应。的常见用法Future是处理http调用。您可以听到的Future是状态。无论是完成,成功完成还是出错。就是这样。
Future
Promise
Task
Futures
Stream另一方面就像IteratorJS中的async 。可以将其同化为随时间变化的值。它通常是Web套接字或事件(例如点击)的表示。通过监听a,Stream您将获得每个新值,以及是否Stream有错误或已完成。
Stream
Iterator
A Future无法收听变量更改。这是一次回应。相反,您需要使用Stream。