Flutter 异步函数 Stream 及 BloC使用详解

概念

Stream是用于接收异步事件数据的异步函数,它们在一些耗时操作之后返回数据,比如像 IO操作。Stream可以接收多个Future异步操作的结果(成功或失败)。另外,Stream 可以被订阅Subscription、StreamController进行管理。

BLoC是Google团队给出的一套“反应式应用”的开发架构。其中涉及到Stream的使用。

好了,闲话少说,下文将依次为大家展示各个功能该如何进行使用。

 

1、Stream 基础示例

通过调用 Stream 的 fromFuture 方法,可以放入一个 future对象 处理异步操作,接着调用 listen方法 拿到future返回的操作结束 data ,如果出现异常也可以在onError方法中进行打印。示例如下:

Stream.fromFutures([
  // 1秒后返回结果
  Future.delayed(new Duration(seconds: 1), () {
    return "hello 1";
  }),
  // 抛出一个异常
  Future.delayed(new Duration(seconds: 2),(){
    throw AssertionError("Error");
  }),
  // 3秒后返回结果
  Future.delayed(new Duration(seconds: 3), () {
    return "hello 3";
  })
]).listen((data){
   print(data);
}, onError: (e){
   print(e.mes

你可能感兴趣的:(Flutter,实战经验)