Error message: **Unhandled Exception: type '_InternalLinkedHashMap<String, dynamic>' is not a subtyp e of type 'FutureOr<List>' **
import 'dart:convert'; import 'package:xml2json/xml2json.dart'; import 'package:http/http.dart' as http; Future<List> rssToJson(String category, {String baseUrl="https://www.hindustantimes.com/feeds/rss/"}) async { var client = http.Client(); final myTransformer = Xml2Json(); return await client.get(baseUrl + category + '/rssfeed.xml').then((response) { return response.body; }).then((bodyString) { myTransformer.parse(bodyString); var json = myTransformer.toGData(); return jsonDecode(json)['rss']['channel']['item']; }); } this is where i am trying to use the data received from rss
Map<String, List> newsData = Map<String, List>(); bool isLoading = true; getData() async{ Future.wait([ rssToJson('topnews'), rssToJson('india'), rssToJson('world-news'), rssToJson('business'), rssToJson('sports'), rssToJson('cricket'), rssToJson('education'), rssToJson('entertainment'), rssToJson('lifestyle'), rssToJson('health'), rssToJson('books'), rssToJson('trending'), ]).then((value) { value[0] = []; value.forEach((element) { value[0].addAll([...element ?? []]); }); value[0].shuffle(); newsData['topnews'] = value[0].sublist(0, 10); newsData['india'] = value[1]; newsData['world'] = value[2]; newsData['business'] = value[3]; newsData['sports'] = value[4]; newsData['cricket'] = value[5]; newsData['education'] = value[6]; newsData['entertainment'] = value[7]; newsData['lifestyle'] = value[8]; newsData['health-fitness'] = value[9]; newsData['books'] = value[10]; newsData['its-viral'] = value[11]; setState(() { isLoading = false; }); }); } I tried Future rssToJson as well but still not working...any help would be appreciated. Thanks in advance.
https://stackoverflow.com/questions/66558225/i-am-having-issue-while-trying-to-access-data-using-rss March 10, 2021 at 12:06PM
没有评论:
发表评论