Logging/Printing HashMap列表<String, dynamic> dart flutter

Logging/Printing List of HashMap<String, dynamic> dart flutter

我有一个 Future,它是 async 和 return 一个 HashMap[=32 的列表=] 我想记录。我正在使用

下面是未来

Future<List<HashMap<String, dynamic>>> _fetchUsersUsingListOfHashMap() async {
    try {
      final response = await http.get(Uri.parse("https://jsonkeeper.com/b/XBCA"));
      final decodedJson = json.decode(response.body);

      final responseList = decodedJson.map<HashMap<String, dynamic>>((e) => HashMap<String, dynamic>.from(e)).toList();


      return responseList;

    } catch (e) {

      log("FetchUsersUsingListOfHashMapException $e");

      rethrow;
    }
  }

下面是我正在打印的 initState

@override
  void initState() {

    log("PrintFetchUsersUsingListOfHashMap $_fetchUsersUsingListOfHashMap()");


    super.initState();
  }

下面是我登录时列表的样子

[
    {
        "name": "Kamchatka",
        "about": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime mollitia,molestiae quas vel sint commodi repudiandae consequuntur voluptatum laborumnumquam blanditiis harum quisquam eius sed odit fugiat iusto fuga praesentium optio, eaque rerum! Provident similique accusantium nemo autem.",
        "email": "kamchatka@mail.com",
        "index": 1,
        "picture": "https://thispersondoesnotexist.com/"
    },
    {
        "name": "Valjakutse",
        "about": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime mollitia,molestiae quas vel sint commodi repudiandae consequuntur voluptatum laborumnumquam blanditiis harum quisquam eius sed odit fugiat iusto fuga praesentium optio, eaque rerum! Provident similique accusantium nemo autem.",
        "email": "valjakutse@mail.com",
        "index": 2,
        "picture": "https://thispersondoesnotexist.com/"
    },
    {
        "name": "Shipment",
        "about": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime mollitia,molestiae quas vel sint commodi repudiandae consequuntur voluptatum laborumnumquam blanditiis harum quisquam eius sed odit fugiat iusto fuga praesentium optio, eaque rerum! Provident similique accusantium nemo autem.",
        "email": "shipment@mail.com",
        "index": 3,
        "picture": "https://thispersondoesnotexist.com/"
    }
]

但是当我登录时,我得到了下面这样的东西

PrintFetchUsersUsingListOfHashMap Closure: () => Future<List<HashMap<String, dynamic>>> from Function '_fetchUsersUsingListOfHashMap@20327479':.()

我怎样才能打印我尝试使用下面的打印但它的return关闭

的列表

print("PrintFetchUsersUsingListOfHashMap $_fetchUsersUsingListOfHashMap()");

_fetchUsersUsingListOfHashMap 是一个未来,考虑在打印前使用 await 关键字。

举个例子:

var result = await someFutureFunction();

print('result: $result')

异步函数中的所有内容。

在你的代码中 _fetchUsersUsingListOfHashMap()Future 如果你直接尝试 print 它会 return 你 Instance of Future 而不是 value 并打印您需要使用 asyncawait 调用另一个函数的值,以从 Future 函数中获取值,并在 initState.[=20= 中调用该函数]

void printData() async {
    log("PrintFetchUsersUsingListOfHashMap ${ await _fetchUsersUsingListOfHashMap()}");
  }

@override
  void initState() {
    printData();
    super.initState();
  }