我正在使用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] 删除。
我来说两句