【发布时间】:2019-09-20 10:05:48
【问题描述】:
我正在尝试向 Flutter 应用程序中的模型添加异步回调,以便模型可以让视图有机会在模型继续运行之前显示一些对话框。但是,我似乎找不到异步回调。我看到了VoidedCallback,但我没有看到像Callback<Future> 这样的东西。
【问题讨论】:
标签: flutter dart asynchronous callback
我正在尝试向 Flutter 应用程序中的模型添加异步回调,以便模型可以让视图有机会在模型继续运行之前显示一些对话框。但是,我似乎找不到异步回调。我看到了VoidedCallback,但我没有看到像Callback<Future> 这样的东西。
【问题讨论】:
标签: flutter dart asynchronous callback
Flutter 有一个异步版本的 VoidCallback typedef,即 AsyncCallback。见:https://api.flutter.dev/flutter/foundation/AsyncCallback.html
【讨论】:
VoidCallback只是一个没有参数的方法回调的签名。
typedef VoidCallback = void Function();
您可以创建自己的:
typedef FutureCallback = void Function(Future);
或者您可以直接使用final Function(Function) foo = yourcallback。
【讨论】:
typedef FutureCallback = Future Function();
VoidCallback 的异步版本应该是typedef FutureCallback = Future<void> Function();,而不是void Function(Future)。
.Then((value){…}) 是在future 成功完成时调用的回调(带有值)。
Future<void> main() async {
print('Fetching user order...');
print(await createOrderMessage().then((value) {
print(value);
return value;
}));
}
【讨论】: