Stream 这个词的字面意思是水流,河流的意思,Dart 借用了这个概念,在 Dart 应用里,这个 Stream 有数据流水线的意思。在数据流水线上面会时不时生产出来一些数据,Stream 可以把新生产出来的数据交给订阅它的东西。
Dart 提供了一些方法可以创建 Stream,我们先用一下 Stream.fromFuture() 创建一个 Stream,然后了解一下跟它相关的一些东西。
我们可以通过一个 Future 创建一个 Stream,这里先定义一个可以返回 Future 的函数,在这个函数里 await ,用一下 Future.delayed,给它提供一个 Duration,把 seconds 设置成 3 ,意思就是延迟 3 秒钟,然后再 return 一个字符串类型的值。
然后再创建一个 Stream ,声明一个 vehicleStream,它的值可以用一下 Stream.fromFuture 通过一个 Future 创建一个 Stream,执行 getVehicle 这个函数会返回一个 Future。
鼠标放在这个 vehicleStream 的上面,会显示它是一个 Stream,这个 Stream 生产出来的是 String 类型的数据。 这里我们也可以明确的说明一下这个 vehicleStream 的类型是 Stream