Использование --enable-async с пабом

Я использую новый синтаксис async/await в своем коде, и все отлично работает, если я запускаю свое приложение непосредственно из дротика, используя что-то вроде C:\dart\dart-sdk\bin\dart.exe --enable_async --checked C:\code\dart-app\main.dart

Однако когда я пытаюсь запустить pub run main.dart в том же приложении, я получаю сообщение об ошибке error: line XX pos XX: use flag --enable-async to enable async/await features. Флаг --enable-async кажется чем-то для самого Dart, поэтому я не могу добавить его в команду pub. Как я могу создать свое приложение, используя pub, таким образом, чтобы я мог использовать синтаксис async/await?


person Michael Fenwick    schedule 03.01.2015    source источник
comment
Начиная с Dart 1.9 (в канале разработки на момент написания этой статьи) у вас должен быть доступ к async/await без флага или преобразователя.   -  person Seth Ladd    schedule 01.03.2015
comment
Примечание. В пабе используется проверенный режим (#22049); это может вызвать исключения, которые вы не увидите иначе.   -  person mockturtl    schedule 08.04.2015


Ответы (1)


Команда pub run загружает и выполняет преобразователи, зарегистрированные в вашем файле pubspec.yaml, перед выполнением приложения. Таким образом, вы можете использовать преобразователь async-await для обработки инструкций async/await. См. функцию Async/Await в Dart 1.8.

person luizmineo    schedule 03.01.2015
comment
Кажется, что это правильный/единственный способ сделать это прямо сейчас. К сожалению, преобразователь не работает, если вы также используете Enums прямо сейчас. Такова цена жизни на грани, я полагаю. - person Michael Fenwick; 05.01.2015