Art*_*rtS 8 asynchronous async-await dart flutter
在我的 flutter 项目中,假设有一个foo(int x) async函数。看起来bar() async像:
Future bar() async {
return foo(3);
}
Run Code Online (Sandbox Code Playgroud)
该bar()函数只是一个foo(int x)带有特定参数的简单胶囊。并bar()用作futurea 中的FutureBuilder。
我不确定是否应该await与 return 一起使用。我在网上找不到相关文档。return foo(3)那么和之间有什么区别return await foo(3)?谢谢你!
小智 12
没有任何区别。
从技术上讲,await首先使用可能会在从函数返回之前等待Future解析,但您将无法分辨出区别。
Future无论哪种方式都会返回A。
那里async也没什么用,它可能只是一个箭头:
Future bar() => foo(3);
Run Code Online (Sandbox Code Playgroud)
如果它不是最后一个语句,并且不是 return 语句,这可能很重要,正如评论中指出的那样,请采用以下内容:
Future bar() async {
try {
return await foo(3);
} catch(error) {
return baz;
}
}
Run Code Online (Sandbox Code Playgroud)
如果 foo 拒绝,那么它就非常重要,因为它将由被调用者处理,而不是调用者。
| 归档时间: |
|
| 查看次数: |
1359 次 |
| 最近记录: |