【问题标题】:Function has a return type of 'Future<Station>' but doesn't end with a return statement flutter函数的返回类型为“Future<Station>”,但不以返回语句结尾
【发布时间】:2020-04-11 14:14:00
【问题描述】:

我正在尝试从 flutter 中的函数返回 Future 对象,我必须在数据库查询块内添加 return 语句,无法从外部访问它,但我有这个错误 Function has a return type of 'Future&lt;Station&gt;' but doesn't end with a return statement flutter 因为预计会在函数末尾找到一个 return 语句,这里是完整的例子:

  Future<Station> gettingStationData(String stationName) async {
    var databasesPath = await getDatabasesPath();
    String path = join(databasesPath, 'main.db');
    Database database = await openDatabase(path, version: 1);
    database.transaction((tnx) async {
      List<Map> stationQuery = await tnx.rawQuery(
          "SELECT * FROM Station WHERE stationName = ?", [stationName]);
      Station station = Station(
          key: stationQuery[0]['key'],
          stationName: stationQuery[0]['stationName'],
          cityName: stationQuery[0]['cityName'],
          stationLatitude: stationQuery[0]['stationLatitude'],
          stationLongitude: stationQuery[0]['stationLongitude']);
      return station;
    });
  }

每当我尝试在函数末尾添加 return station; 时,它都会给我 unresolved reference 错误。每当我尝试访问该函数时,它都会返回一个null。有什么帮助吗?

【问题讨论】:

    标签: android ios flutter asynchronous dart


    【解决方案1】:

    您需要返回 database.transaction(...) 返回的内容。

    return database.transcation((tnx) async { ...
    

    【讨论】:

      猜你喜欢
      • 2019-05-09
      • 1970-01-01
      • 2020-03-26
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 2020-04-14
      • 1970-01-01
      相关资源
      最近更新 更多