为什么在 Dart 中没有 await 关键字的异步关键字函数?

sgo*_*n00 4 dart flutter

我看到很多人的代码在函数体中async没有await关键字的情况下使用关键字。甚至一些官方的颤振示例代码也会这样做。我不知道为什么。重点是什么?这是错误还是有目的?

通常,我只是async从这些代码中删除关键字,一切都会正常运行。一些飞镖专家能否澄清一下,如果有一个具有async关键字但没有await关键字的函数是有目的的?或者这只是他们的错误?

Ale*_*uin 5

async 有时用于简化代码。

这里有些例子:

Future<int> f1() async => 1;
Future<int> f1() => Future.value(1);

Future<void> f2() async {
  throw Error();
}
Future<void> f2() {
  return Future.error(Error());
}
Run Code Online (Sandbox Code Playgroud)