如何在flutter中将Future List实例转换为List String

Has*_*mad 1 flutter flutter-layout

我正在共享过程中保存字符串列表并如下所示获取该列表

Future<List<String>> getList() async {
  final prefs = await SharedPreferences.getInstance();
  return prefs.getStringList("key");
}
Run Code Online (Sandbox Code Playgroud)

问题是我需要将该列表发送到服务器,但面临问题,因为我需要将该未来列表转换为简单列表

我怎样才能做到这一点?或者有没有其他方法,因为我需要将用户保存的 ID 列表发送到服务器。

Abd*_*che 5

当您将函数标记为异步时,它将返回 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;
}
Run Code Online (Sandbox Code Playgroud)

或者使用然后

getList().then(List<String> myList {
// TODO: Send myList to server.
});
Run Code Online (Sandbox Code Playgroud)

希望这个帮助!