Whenever I call the getCurrentUserNodes() it does not wait for the for loop to complete. How can I fix this? Here is my code:
class NodeCardBuilder {
Future<List<Widget>> getCurrentUserNodes(BuildContext passedContext) async {
List<Widget> nodeCards = [];
List nodes = await FirebaseHelper().getNodeList();
Size size = MediaQuery.of(passedContext).size;
nodeCards.add(SizedBox(height: size.height * 0.2, width: size.width));
for (Map node in nodes) {
node.forEach((key, value) async {
List vpsData = await VpsHelper(value['ip'], 22, 'root', value['pass'])
.getVpsData();
nodeCards.add(NodeCard(
key,
value['ethAdd'],
double.parse(vpsData[0]) / 100,
double.parse(vpsData[1]) / 100,
double.parse(vpsData[2]) / 100,
));
debugPrint(nodeCards.toString());
});
}
return nodeCards;
}
}