我应该 return 一个 Future<void> 函数的值吗?
Should i return a value for a Future<void> Function?
在 Dart 中,运行 异步函数有 2 个选项,但不应使用其 return 值。
Future<Null>
Future<void>
从 Dart 2.0 开始,在大多数情况下通常建议使用 void 而不是 Null(由于不应使用 void 类型的警告)。
对于这些,不需要 return 类型,但可以 return 所有类型。但是这里的最佳实践是什么,我应该还是 return 什么,我应该用空的 return (1)、return null 或其他东西 (2) 结束函数,还是我应该只是结束功能(3)?假设没有使用 return 值(f.e。await exampleFunction() 在所有情况下都应该等到函数完成),我是否可能错过了 3 个选项之间的任何本质区别?它本质上只是代码风格吗?
1)
Future<void> exampleFunction() async{
...
return;
}
2)
Future<void> exampleFunction() async{
...
return null;
}
3)
Future<void> exampleFunction() async{
...
}
没有。 Future 类型只是表示该函数将被异步调用。
如果 async 方法 returns Future<void>
最好的做法是避免在其末尾空 return 。但是在某些情况下您仍然可以使用 return
退出该方法:
Future<void> exampleFunction() async{
if (skip) return;
await doSomething();
}
在 Dart 中,运行 异步函数有 2 个选项,但不应使用其 return 值。
Future<Null>
Future<void>
从 Dart 2.0 开始,在大多数情况下通常建议使用 void 而不是 Null(由于不应使用 void 类型的警告)。
对于这些,不需要 return 类型,但可以 return 所有类型。但是这里的最佳实践是什么,我应该还是 return 什么,我应该用空的 return (1)、return null 或其他东西 (2) 结束函数,还是我应该只是结束功能(3)?假设没有使用 return 值(f.e。await exampleFunction() 在所有情况下都应该等到函数完成),我是否可能错过了 3 个选项之间的任何本质区别?它本质上只是代码风格吗?
1)
Future<void> exampleFunction() async{
...
return;
}
2)
Future<void> exampleFunction() async{
...
return null;
}
3)
Future<void> exampleFunction() async{
...
}
没有。 Future 类型只是表示该函数将被异步调用。
如果 async 方法 returns Future<void>
最好的做法是避免在其末尾空 return 。但是在某些情况下您仍然可以使用 return
退出该方法:
Future<void> exampleFunction() async{
if (skip) return;
await doSomething();
}