使用 Stream 上的 listen 订阅流水线的时候,返回的东西是一个 StreamSubscription,鼠标放在 listen 方法的上面,显示它提供的东西是 StreamSubscription
下在我们可以给这个方法返回的东西起个名字,类型是 StreamSubscription
这个订阅,也就是 StreamSubscription 的上面提供了两个方法可以暂停订阅,还有恢复订阅。下面我们可以测试一下。
先在控制台上输出一个 暂停订阅。 然后执行 vehicleSubscription 上面的 pause(); 它可以暂停订阅。
下面再执行一下 await Future.delayed(Duration(seconds: 3)),等待三秒钟以后,再在控制台上输出一个恢复订阅。然后执行 vehicleSubscription.resume(); 这个方法可以恢复订阅。
运行一下应用,会先提示暂停订阅,暂停以后就不会处理流水线上出现的数据了。过了三秒钟,又会输出恢复订阅,执行了订阅上的 resume 方法恢复订阅,恢复以后,就又可以继续处理流水线上的数据了。