我正在尝试下面的代码在Text
小部件上打印1、2和3。但是问题在于它仅打印1和3。但是concat应该通过属性顺序打印所有数据,对吗?
Stream<String> get concatStream => Observable.concat(
[new Observable.just(1.toString()),
new Observable.timer(2.toString(), new Duration(seconds: 1)),
new Observable.just(3.toString())]);
如果我使用以下配置,则会出现一个奇怪的部分。它按顺序打印所有三个值。可能是什么问题?
Stream<String> get concatStream => Observable.concat([
new Observable.just(1.toString()),
new Observable.timer(2.toString(), new Duration(seconds: 2)),
new Observable.timer(3.toString(),new Duration(seconds: 1))
]);
我的StreamBuilder
的代码:
return StreamBuilder(
stream: getStream(),
builder: (BuildContext context, AsyncSnapshot<String> snapshot) {
if (snapshot.hasData) {
print(snapshot.data);
return Text(
snapshot.data,
textAlign: TextAlign.center,
style: TextStyle(fontWeight: FontWeight.w300),
);
} else if (snapshot.hasError) {
return Text("Error");
} else {
return CircularProgressIndicator();
}
});