Язык Dart поддерживает стиль программирования async/await или аналогичный?

Можно ли написать аналогичный код на языке Dart?

int i;
try {
  i = await getResultAsync();
} catch(exception) {
  // Do something
}

person Community    schedule 05.07.2013    source источник
comment
dartlang.org/articles/using-future-based-apis   -  person Adriano Repetti    schedule 05.07.2013
comment
Я считаю, что единственными языками, которые в настоящее время поддерживают async, являются C#/VB/F#. С++ предлагает что-то подобное. Dart/JS, вероятно, будут внедряться немного медленнее, потому что CPS распространены и менее обременительны (они по своей природе являются функциональными языками).   -  person Stephen Cleary    schedule 05.07.2013
comment
Язык машинописного текста похож на язык Dart (имеет вывод JS) и предлагает (еще не реализовано) async/await. Время покажет.   -  person    schedule 05.07.2013
comment
У @StephenCleary Scala также есть github.com/scala/async.   -  person JAre    schedule 04.11.2013


Ответы (2)


Базовая поддержка уже доступна.
См. https://www.dartlang.org/articles/await-async/ для более подробной информации.

main() async {
  print(await foo());
  try {
    print(await fooThrows());
  } catch(e) {
    print(e);
  }
}

foo() async => 42;

fooThrows() async => throw 'Anything';
person Günter Zöchbauer    schedule 28.11.2014

Не сейчас. См. проблему Поддержка "ожидания" в Dart.

person Alexandre Ardhuin    schedule 05.07.2013