Flutter StreamBuilder vs FutureBuilder

后端 未结 3 1775
渐次进展
渐次进展 2020-12-07 18:15

What is the main difference between StreamBuilder and FutureBuilder.

  • What to use and when to use?

  • What are the ta

3条回答
  •  眼角桃花
    2020-12-07 19:07

    Both StreamBuilder and FutureBuilder have the same behavior : They listen to changes on their respective object. And trigger a new build when they are notified of a new value.

    So in the end, their differences is how the object they listen to works.

    Future are like Promise in JS or Task in c#. They are the representation of an asynchronous request. Futures have one and only one response. A common usage of Future is to handle http calls. What you can listen on a Future is it's state. Whether it's done, finished with a success, or had an error. But that's it.

    Stream on the other hand are like async Iterator in JS. This can be assimilated to a value that can change over time. It usually is the representation of web-sockets or events (such as click). By listening to a Stream you'll get each new value and also if the Stream had an error or completed.

    How each of them listens to changes in a dynamic list?

    A Future can't listen to a variable change. It's a one time response. Instead you'll need to use a Stream.

提交回复
热议问题