如何从 _storageToken.read() 调用中读取字符串值?

How can I read the string value from the _storageToken.read() call?

我的主页小部件中有这个构造,它应该获取保存的令牌。现在这个 returns 一个未来。那么如何读取令牌字符串呢?我尝试了 storedToken.toString() 但它 returns Future 不是我所期望的。我期待一个字符串值,如“fhsdjkfhs.djkfhsdjkfhsdjk”

void initState(){
    const _storageToken = FlutterSecureStorage();
    storedToken = _storageToken.read(key: 'jwt');
    print(storedToken);
}

_storageToken.read() returns 一个未来,所以你必须等待它才能获得价值。

问题是,您不能直接对 initState 执行 async/await 操作。 如果您仍想在 initState 上调用 _storageToken.read(),则可以使用此解决方法。

void initState(){
   /// Initialize Flutter Secure Storage
   const _storageToken = FlutterSecureStorage();
   
   /// Await your Future here (This function only called once after the layout is Complete) 
   WidgetsBinding.instance?.addPostFrameCallback((timeStamp) async {
       final storedToken = await _storageToken.read(key: 'jwt');
       print(storedToken);
   });
}