I am trying to return Map from Future after taking values from database but I'm unable to print the values. Getting below error while accessing values
The type 'Future<Map<String, dynamic>> Function()' used in the 'for' loop must implement Iterable.
Below is simple code.
class ChefDishes extends StatefulWidget {
@override
_ChefDishesState createState() => _ChefDishesState();
}
class _ChefDishesState extends State<ChefDishes> {
@override
Widget build(BuildContext context) {
var _chefDishes = DatabaseService().getChefDishList;
return Scaffold(
.....
Column(
children: [
for (var item in _chefDishes) // <---- E R R O R I S H E R E
ListView(children: [
Text(item['dishname']),
Text(item['dishPrice']),
]),
],
)
}
DatabaseService class
class DatabaseService {
Future<Map<String, dynamic>> getChefDishList() async {
Map<String, dynamic> chefDishes;
var result =
await Firestore.instance.collection('dish').("chefID", isEqualTo: uid).getDocuments();
result.documents.forEach((eachResult) {
chefDishes = eachResult.data;
});
return chefDishes;
}
}