订阅 Stream 可以设置处理数据用的方法,也可以设置处理流水线上发生的错误用的方法。这里我们先单独定义一下它们,先定义一个 onDataVehicle ,接收一个 data 参数,函数做的事情就是把 data 参数输出到控制台上。
再定义一个 onErrorVehicle,接收一个 error 参数,做的事情就是把 error 输出到控制台上。
然后在 listen 这个 vehicleStream 的时候,把 onDataVehicle 作为它的第一个参数的值,listen 还有一些具名参数,比如 onError,把参数的值设置成 onErrorVehicle。
然后我们再手工在这条流水线上制造一个错误,可以直接在这个 getVechile 里面 throw 一个错误,ERROR ~~
运行一下应用,等待三秒钟,你会发现在控制台上会输出流水线上的错误。也就是执行了订阅流水线的时候设置的 onError 参数对应的函数,这里就是这个 onErrorVehicle。