使用Flutter打开数据库时出现意外文本'await'

安迪

我正在使用Flutter Dev网站上Persist data with SQLite教程,并且正在尝试使用打开数据库连接async,但是我一直收到错误消息Unexpected text 'await'即使当我直接从教程中复制代码时,我仍然遇到相同的错误。

这是我的完整文件:

import 'dart:async';

import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart';

// Open the database and store the reference.
final Future<Database> database = openDatabase(
    join(await getDatabasesPath(), 'doggie_database.db'),
);

据我所知,我正确地使用了关键字,那么为什么编译器会抱怨呢?

我正在使用Dart 2.7.0-dev.2.1是否有所作为。

若昂·苏亚雷斯

这似乎是一个异步问题。奇怪的是,官方文档中的一个示例将您引向该错误。直接在需要使用方法的外部分配变量async尝试这个:

final Future<Database> database = getDatabasesPath().then((String path) {
  return openDatabase(join(path, 'doggie_database.db'));
});

为了将来参考,OP的代码不起作用的原因是他在main()Flutter方法之外运行它,在Flutter文档提供的示例中该方法是异步的:https : //flutter.dev/docs / cookbook / persistence / sqlite#example

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章