unawaited 函数
- @Since("2.15")
- Future<
void> ? future
显式忽略一个 future。
并非所有 future 都需要被等待。Dart 检查器有一个可选的 "未等待的 future" 检查器,它强制异步函数中的潜在 future(静态类型为 Future 或 Future?
的表达式)以某种方式处理。如果一个特定的 future 值不需要被等待,你可以用它调用 unawaited(...)
,这将避免检查器警告,仅仅是因为该表达式不再具有类型 Future。使用 unawaited
没有其他效果。你应该使用 unawaited
来传达明确不等待 future 的意图。
如果 future 因为错误而完成,那么没有等待它可能是一个错误。那个错误仍然会发生,并且除非同一 future 在其他地方也被等待(或以其他方式处理),否则它将被视为未处理的异常。因此,unawaited
只应用于预期会以值完成的 future。如果你也不想了解这个 future 的错误,可以使用 FutureExtensions.ignore。
实现
@Since("2.15")
void unawaited(Future<void>? future) {}