2

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())]);

奇怪的是,如果我使用以下配置。它按顺序打印所有 3 个值。可能是什么问题?

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();
          }
        });
4

0 回答 0