gpt4 book ai didi

flutter - 如何在没有等待的情况下获得 future 值(value)?

转载 作者:行者123 更新时间:2023-12-03 03:05:23 25 4
gpt4 key购买 nike

我正在制作一个需要身份验证和 token 检查的应用程序。如果用户没有 token ,则需要渲染 Auth 页面;如果 token 不存在,则需要渲染主页

我正在使用flutter_secure_storage存储 token 。

flutter :1.5.4

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

import 'package:provider/provider.dart';

import 'package:myapp/api.dart';
import 'package:myapp/router.dart';

class App extends StatelessWidget {
String _getInitialRoute(context) {
final hasToken = Provider.of<API>(context).token != null; // Returns Future<String> instead of string
return hasToken ? 'home' : 'auth';
}

// build async is throwing here an error.
build(context) {
return MaterialApp(
/**
* Disable debug banner.
*/
debugShowCheckedModeBanner: false,

/**
* Initial route.
*/
initialRoute: _getInitialRoute(context),

/**
* Routes.
*/
onGenerateRoute: Router.generateRoute,

/**
* Application title.
*/
title: 'My App',
);
}
}

我希望基于 token 获得 initialRoute

最佳答案

你可以试试这个

void main() async {
String initialRoute = await SomethingHere(); // get your awaited string
runApp(
MaterialApp(
initialRoute: initialRoute,
onGenerateRoute: ...,
),
);
}

关于flutter - 如何在没有等待的情况下获得 future 值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56858256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com