Android 映射流内容时如何处理未处理的异常?

Android 映射流内容时如何处理未处理的异常?,android,flutter,dart,stream,Android,Flutter,Dart,Stream,我试图映射流内容,但最终得到未处理的异常:类型“\u MapStream”不是“stream”错误的“stream”类型的子类型 下面是我正在尝试运行的代码 class Cricket { final String comment; Cricket.fromJsonMap(Map map) : comment = map['comment']; } class _RedditFlutterState extends State<RedditFl

我试图映射流内容,但最终得到未处理的异常:类型“\u MapStream”不是“stream”错误的“stream”类型的子类型 下面是我正在尝试运行的代码

   class Cricket {
      final String comment;
      Cricket.fromJsonMap(Map map) : comment = map['comment'];
    }
    class _RedditFlutterState extends State<RedditFlutter> {
      var comments;
      ScrollController _scrollController =
          new ScrollController(initialScrollOffset: 50.0);
      StreamController<Cricket> streamController;
      List<Cricket> list = [];
      var msg = '';
      Future<void> redditmain(StreamController sc) async {
        // Create the `Reddit` instance and authenticated
        Reddit reddit = await Reddit.createScriptInstance(
         clientId: 'clientid',
      clientSecret: 'clientsecret',
      userAgent: 'useragent',
      username: 'username',
      password: 'password', // Fake
        );
    
        comments = reddit.subreddit('cricket');
        // .stream.comments();
        comments.stream
            .comments()
            .map((map) => Cricket.fromJsonMap(map))
            .pipe(streamController);
    
        // comments.listen((event) => print(event.body));
      }
    
      @override
      void dispose() {
        super.dispose();
        streamController?.close();
        streamController = null;
      }
    
      @override
      void initState() {
        // TODO: implement initState
        // redditmain();
    
        super.initState();
        streamController = StreamController.broadcast();
        streamController.stream.listen((p) => setState(() => list.add(p)));
        redditmain(streamController);
      }
    
      List item = [];
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: Text("Reddit"),
            centerTitle: true,
          ),
          body: Center(
            child: StreamBuilder(
              // stream: list,
              builder: (context, snap) {
                if (snap.hasData && !snap.hasError && snap.data != null) {
                  print(snap.data.body);
                  return Container(
                    child: ListView.builder(
                      controller: _scrollController,
                      itemCount: list.length,
                      itemBuilder: (context, index) {
                        return Card(
                          child: ListTile(
                            leading: Image.asset('assets/criclogo.png'),
                            title: Text(list[index].comment),
                            trailing: Icon(Icons.more_vert),
                          ),
                        );
                      },
                    ),
                  );
                } else
                  return Text("No data");
              },
            ),
          ),
        );
      }
    }
投掷

 [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: type '_MapStream<Comment, dynamic>' is not a subtype of type 'Stream<Cricket>' of 'stream'
[错误:flatter/lib/ui/ui\u dart\u state.cc(186)]未处理的异常:类型“\u MapStream”不是“Stream”的类型“Stream”的子类型
我做错了什么?有人能给我指出正确的方向吗

 [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: type '_MapStream<Comment, dynamic>' is not a subtype of type 'Stream<Cricket>' of 'stream'