0

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;
  }
}

0 Answers0