Pular para o conteúdo principal

avoid_slow_async_io

Saiba mais sobre a regra de lint avoid_slow_async_io.

Estável

Evite métodos assíncronos lentos de dart:io.

Detalhes

#

EVITE usar os seguintes métodos assíncronos de I/O de arquivos, porque são muito mais lentos do que suas contrapartes síncronas.

  • Directory.exists
  • Directory.stat
  • File.lastModified
  • File.exists
  • File.stat
  • FileSystemEntity.isDirectory
  • FileSystemEntity.isFile
  • FileSystemEntity.isLink
  • FileSystemEntity.type

RUIM:

dart
import 'dart:io';
​
Future<Null> someFunction() async {
  var file = File('/path/to/my/file');
  var now = DateTime.now();
  if ((await file.lastModified()).isBefore(now)) print('before'); // LINT
}

BOM:

dart
import 'dart:io';
​
Future<Null> someFunction() async {
  var file = File('/path/to/my/file');
  var now = DateTime.now();
  if (file.lastModifiedSync().isBefore(now)) print('before'); // OK
}

Ativar

#

Para ativar a regra avoid_slow_async_io, adicione avoid_slow_async_io em linter > rules no seu arquivo analysis_options.yaml:

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_slow_async_io

Se você usa a sintaxe de mapa YAML para configurar as regras de lint, adicione avoid_slow_async_io: true em linter > rules:

analysis_options.yaml
yaml
linter:
  rules:
    avoid_slow_async_io: true

Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.