首页 > 解决方案 > 我的异步方法没有在“for”迭代之后进行

问题描述

我的代码是这样的:

  Future<List<ListClass>> getIndexList() async {
    return Future.delayed(delayTime).then((_) async {
      //initialize
      List<ListClass> resultListItems = new List<ListClass>();
      await listCollection.get().then((value) async {
        var v = value.data;
        for (var data in v) {
          String userId = data['userId'];
          String authorName=await UserTable().getUserNameById(userId);
          print("createUserName=" + authorName);
          resultListItems.add(
              ListClass(header, content, userId, wordCount, authorName));
        }
        print("resultListItems.length="+resultListItems.length.toString());
        return resultListItems;
      });

     return resultListItems;
    });
  }

当我调试时,它显示这个方法返回null,并且在之后forprint("resultListItems");也没有运行。我该如何解决这个问题?谢谢!

标签: flutterasynchronous

解决方案


我发现了问题,for子句没有完全运行。我在数据库中的一个数据是空的,所以它运行时有错误。对不起我的错


推荐阅读