メインコンテンツにスキップ

unnecessary_unawaited

'unawaited' の不要な使用。

説明

#

unawaited は、関数、メソッド、または演算子への呼び出し、あるいはフィールド、ゲッター、またはトップレベル変数の参照を、安全に待機しないことを示すために使用されますが、呼び出されたメンバーにも @awaitNotRequired アノテーションが付与されている場合に、アナライザーはこの診断を生成します。このアノテーション自体は、unawaited でラップする必要がないことをあらゆる呼び出しサイトで示しています。

#

以下のコードは、@awaitNotRequired アノテーションが付与された関数への呼び出しで unawaited が呼び出されているため、この診断を生成します。

dart
import 'dart:async';
import 'package:meta/meta.dart';

@awaitNotRequired
Future<bool> log(String message) async => true;

void f() {
  unawaited(log('Message.'));
}

一般的な修正

#

unawaited の呼び出しを削除してください。

dart
import 'package:meta/meta.dart';

@awaitNotRequired
Future<bool> log(String message) async => true;

void f() {
  log('Message.');
}