Неожиданный текст "ждите" при открытии базы данных с помощью Flutter - PullRequest
1 голос
/ 24 января 2020

Я следую учебнику Persist с SQLite с веб-сайта Flutter Dev и пытаюсь открыть соединение с базой данных, используя 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, если это имеет значение.

1 Ответ

8 голосов
/ 24 января 2020

Это похоже на проблему с асинхронностью. Странно, что пример из официальной документации приводит вас к этой ошибке. Непосредственное присвоение переменной вне метода, который должен быть async. Попробуйте это:

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