[英]How to convert Future List instance to List String in flutter
我正在共享過程中保存字符串列表並獲取如下所示的內容
Future<List<String>> getList() async {
final prefs = await SharedPreferences.getInstance();
return prefs.getStringList("key");
}
問題是我需要將該列表發送到服務器但面臨問題,因為我需要將該未來列表轉換為簡單列表
我怎樣才能做到這一點? 或者有沒有其他方法,因為我需要將用戶保存的 id 列表發送到服務器。
當您將函數標記為async 時,它將返回一個 future 。
如果您不等待未來,您將獲得“未來實例”,這意味着您的未來(數據)尚不可用。
如果你想等待未來(數據)被解析,你需要使用await關鍵字。
因此,在您的情況下,您可以創建一個List<String> myList;
然后創建一個等待未來的函數,並將數據分配給之前的列表。
List<String> myList;
void getStringList() async {
var tempList = await getList();
// Or use setState to assign the tempList to myList
myList = tempList;
}
或者使用Then :
getList().then(List<String> myList {
// TODO: Send myList to server.
});
希望這有幫助!!
當您使用異步數據時,您應該“等待”數據未完全加載。 您可以在這樣的異步方法中使用await
word:
foo() async {
final Future<List<dynamic>> futureList = fetchSomeFutureList();
final list = await futureList;
}
或者使用 Future 的then()
方法來委派一些工作。 您還可以使用FutureBuilder
在小部件樹中等待期貨。 查看Dart 文檔頁面以了解詳細信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.