- 类型参数:
T- 发布的项目类型
- 所有已知的子接口:
Flow.Processor<T,,R> HttpRequest.BodyPublisher
- 所有已知的实现类:
SubmissionPublisher
- 封闭类:
Flow
- 函数接口:
- 这是一个功能接口,因此可以用作 lambda 表达式或方法引用的赋值目标。
订阅者收到的项目(和相关控制消息)的生产者。每个当前
Flow.Subscriber 以相同的顺序接收相同的项目(通过方法 onNext ),除非遇到掉落或错误。如果发布者遇到不允许向订阅者发布项目的错误,则该订阅者会收到 onError ,然后不会再收到任何消息。否则,当知道不会再向它发出更多消息时,订阅者会收到 onComplete 。发布者确保每个订阅的订阅者方法调用严格按照发生之前顺序进行。
出版商可能会在是否将丢弃(由于资源限制而未能发布项目)视为不可恢复的错误方面制定不同的策略。发布者也可能会改变订阅者是否收到在他们订阅之前生产或可用的项目。
-
方法总结
-
方法详情
-
subscribe
如果可能,添加给定的订阅者。如果已经订阅,或者由于违反策略或错误而尝试订阅失败,订阅者的onError方法将被调用IllegalStateException。否则,使用新的Flow.Subscription调用订阅者的onSubscribe方法。订阅者可以通过调用此订阅的request方法启用接收项目,并可以通过调用其cancel方法取消订阅。- 参数:
subscriber- 订户- 抛出:
NullPointerException- 如果订阅者为空
-