Flutter Stream 简介及部分操作符使用,移动架构师成长路线

void _stream() async{
Duration interval = Duration(seconds: 1);
Stream stream = Stream.periodic(interval, (data) => data);
stream = stream.take(10); //指定发送事件个数
await for(int i in stream ){
print(i);
}
}

  • Stream.takeWhile

上面这种方式我们是只制定了发送事件的个数,如果我们也不知道发送多少个事件,我们可以从返回的结果上做一个返回值的限制,上面结果也可以用以下方式实现

void _stream() async {
Duration interval = Duration(seconds: 1);
Stream stream = Stream.periodic(interval, (data) => data);
// stream = stream.take(10);
stream = stream.takeWhile((data) {
return data < 10;
});
await for (int i in stream) {
print(i);
}
}

  • Stream.skip(int count)

你可能感兴趣的:(程序员,架构,移动开发,android)