【发布时间】:2021-06-02 08:22:43
【问题描述】:
所以我有一个异步函数:
Future decodeToken() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
var token = await prefs.getString('token');
final Map<String, dynamic> payload = json.decode(
ascii.decode(
base64.decode(base64.normalize(token.split(".")[1])),
),
);
return payload;
}
当我尝试做的时候:
var payload = await decodeToken();
它抛出一个错误说“等待表达式只能在异步函数中使用。”
我尝试取出“await”并打印有效载荷变量,但显然它打印“Instance of Future”
如果我这样做:
decodeToken().then((value)=>print(value))
它正确打印了值,但我想在变量中使用它,如何返回异步函数的 vvalue?
【问题讨论】:
-
请不要编辑问题的答案。如果您有答案,请发布您自己问题的答案。由于您的问题已作为重复项关闭,如果您认为对未来用户有帮助,请添加对重复项的答案。
标签: flutter dart asynchronous