小编Top*_*zoo的帖子

Flutter / Dart异步未等待

我正在构建我的第一个Flutter应用程序,但遇到了一个异步问题。

当我的应用程序执行时,我希望它请求权限并等待它们被授予。我的main()函数如下所示:

import 'permission_manager.dart' as Perm_Manager;

void main() async
{
  //Ensure valid permissions
  Perm_Manager.Permission_Manager pm = Perm_Manager.Permission_Manager();
  var res = await pm.get_permissions();
  print(res);

  return runApp(MyApp());
} 
Run Code Online (Sandbox Code Playgroud)

权限管理器类的get_permissions()函数使用Flutter Simple Permissions包检查并询问权限。

import 'package:simple_permissions/simple_permissions.dart';
import 'dart:io' as IO;
import 'dart:async';

class Permission_Manager {
  /* Get user permissions */

  Future<bool> get_permissions() async
  {
    //Android handler
    if (IO.Platform.isAndroid)
    {
        //Check for read permissions
        SimplePermissions.checkPermission(Permission.ReadExternalStorage).then((result)
        {
          //If granted
          if (result)
            return true;

          //Otherwise request them
          else
          {
            SimplePermissions.requestPermission(Permission.ReadExternalStorage)
            .then((result)
            {
              // Determine if they were granted …
Run Code Online (Sandbox Code Playgroud)

future async-await dart flutter

5
推荐指数
1
解决办法
3862
查看次数

标签 统计

async-await ×1

dart ×1

flutter ×1

future ×1