我的flutter应用程序创建了一个Utility类,并希望在不同的文件/页面中使用Utility类中的函数。但是Utility类的async函数不能被其他文件调用。请帮助解决这个问题。

asynchronous - Flutter创建一个Utility类,但是不能调用异步函数-LMLPHP

import 'package:flutter/material.dart';
import 'package:connectivity/connectivity.dart';
import 'dart:async';

class Utility {

  ConnectivityResult connectivityResult;

  Future<bool> checkConnection() async{
    connectivityResult = await (new Connectivity().checkConnectivity());

    if ((connectivityResult == ConnectivityResult.mobile) || (connectivityResult == ConnectivityResult.wifi)){
      return true;
    } else {
      return false;
    }
  }

  static void showAlert(BuildContext context, String text) {
    var alert = new AlertDialog(
      content: Container(
        child: Row(
          children: <Widget>[Text(text)],
        ),
      ),
      actions: <Widget>[
        new FlatButton(
            onPressed: () => Navigator.pop(context),
            child: Text(
              "OK",
              style: TextStyle(color: Colors.white),
            ))
      ],
    );

    showDialog(
        context: context,
        builder: (_) {
          return alert;
        });
  }
}

最佳答案

在您的函数上使用static关键字
static Future<bool> checkConnection()
或实例化您的实用程序类

关于asynchronous - Flutter创建一个Utility类,但是不能调用异步函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52475864/

10-10 16:05