我的Dart功能如下:
Future beAwesome() {
if (notActuallySupported) {
return new Future.error(new UnsupportedError('uh oh'));
}
return new Future.value(42);
}
// ...
beAwesome().then((answer) => print(answer));
我想使用新的async/await功能。如何更改功能?
答案 0 :(得分:3)
通常,在功能签名之后和async
之前添加单词{
。此外,返回原始值而不是将这些值包装在期货中。此外,抛出实际的异常,而不是将错误包装在未来。
这是新版本:
Future beAwesome() async {
if (notActuallySupported) {
throw new UnsupportedError('uh oh');
}
return 42;
}
// ...
var answer = await beAwesome();
print(answer);
请注意,您仍应使用Future
作为返回类型注释。