我一直很难处理流。我读了许多文章,最后写了这段代码。我了解理论上流是如何工作的,但是代码对我而言意义不大。它正在工作,但我不知道到底在发生什么。
这就是我定义流控制器的方式-
StreamController streamController = StreamController.broadcast();
这就是我在initState()中添加的内容-
streamController.stream.listen((data) {
//call my backend api
});
基于一些动作,我称它为
streamController.add(someData);
我听不明白正在传递什么。我没有在任何地方定义data
。我不能将其保留为空或为空。在哪里使用?
同时添加时,我要传递什么数据?
如果在调用后端api时需要一些数据。如何通过?
我是否总是只需要听initState()
中的流?我无法在其他任何地方添加它。为什么会这样?
答案 0 :(得分:1)
data
是每次流发出事件时传递给您的有效负载。
(data) {
//call my backend api
}
是您传递给
的函数streamController.stream.listen(...);
,并且每次流接收事件时都会调用此函数。
只需使用
(data) {
print('received data: $data);
}
应该清楚。