我想获得 BehaviorSubject 流的长度,但我无法获得。
test('get stream length', ()async{
BehaviorSubject<int> subject = new BehaviorSubject(seedValue: 0);
var act = await subject.stream.length;
expect(act, 1);
});
我怎样才能得到这个长度?
流的长度只有在关闭后才能知道。只要它没有关闭,总是有可能添加另一个事件。
https://api.dartlang.org/stable/2.1.1/dart-async/Stream/length.html
长度属性
Future<int> length
此流中的元素数。
等待此流的所有元素。当这个流结束时,返回的 future 完成了元素的数量。
如果此流发出错误,则返回的未来会以该错误完成,并且处理停止。
这个操作监听这个流,一个非广播的流在找到它的长度后就不能被重用。
test('get stream length', ()async{
BehaviorSubject<int> subject = new BehaviorSubject(seedValue: 0);
var actFuture = await subject.stream.length;
await subject.close();
expect(actFuture, completion(equals(1));
});