我有一個Future,它async回傳一個我想記錄的HashMap<String, dynamic>串列。我在用
下面是未來
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": "[email protected]",
"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": "[email protected]",
"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": "[email protected]",
"index": 3,
"picture": "https://thispersondoesnotexist.com/"
}
]
但是當我登錄時,我會在下面得到類似的東西
PrintFetchUsersUsingListOfHashMap Closure: () => Future<List<HashMap<String, dynamic>>> from Function '_fetchUsersUsingListOfHashMap@20327479':.()
我如何能夠列印我嘗試使用下面的列印但它回傳關閉的串列
print("PrintFetchUsersUsingListOfHashMap $_fetchUsersUsingListOfHashMap()");
uj5u.com熱心網友回復:
在你的代碼_fetchUsersUsingListOfHashMap()中Future,如果你直接嘗試print它,它會回傳一個Instance of Futurenot thevalue并列印你需要呼叫另一個函式的值,async并await從你的 Future 函式中獲取值,并在你的initState.
void printData() async {
log("PrintFetchUsersUsingListOfHashMap ${ await _fetchUsersUsingListOfHashMap()}");
}
@override
void initState() {
printData();
super.initState();
}

uj5u.com熱心網友回復:
_fetchUsersUsingListOfHashMap 是未來,await列印前考慮使用關鍵字。
例如:
var result = await someFutureFunction();
print('result: $result')
所有這些都在 async 函式中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/410875.html
標籤:
