【发布时间】:2020-07-19 12:24:59
【问题描述】:
根据我对Stream 和sink 的基本理解,我们将数据添加到接收器以便将其传递到流中,但要添加它,我们使用getter 而不是setter,我认为这违反直觉(参见下面的示例),你能用简单的话解释一下为什么会这样而不是相反吗?
例子:
class BlogPostViewModel {
StreamController<List<BlogPost>> _blogPostListController = StreamController.broadcast();
Stream<List<BlogPost>> get outBlogPostList => _blogPostListController.stream;
Sink<List<BlogPost>> get _inBlogPostList => _blogPostListController.sink; // Here why use get and not a setter?
}
提前,谢谢。
【问题讨论】:
-
你可以。没有真正的理由不这样做。
-
@RémiRousselet 你能解释一下吗?
-
在
Sink<int> get foo => _sink上使用set foo(int value) => _sink.add(value)并没有真正的缺点。唯一的区别是您无权访问Sink.close,但这并不重要。