Pular para o conteúdo principal

cancel_subscriptions

Saiba mais sobre a regra de lint cancel_subscriptions.

Estável

Cancele instâncias de StreamSubscription do dart:async.

Detalhes

#

FAÇA invocar cancel em instâncias de StreamSubscription do dart:async.

Cancelar instâncias de StreamSubscription evita vazamentos de memória e comportamentos inesperados.

RUIM:

dart
class A {
  StreamSubscription _subscriptionA; // LINT
  void init(Stream stream) {
    _subscriptionA = stream.listen((_) {});
  }
}

RUIM:

dart
void someFunction() {
  StreamSubscription _subscriptionF; // LINT
}

BOM:

dart
class B {
  StreamSubscription _subscriptionB; // OK
  void init(Stream stream) {
    _subscriptionB = stream.listen((_) {});
  }
​
  void dispose(filename) {
    _subscriptionB.cancel();
  }
}

BOM:

dart
void someFunctionOK() {
  StreamSubscription _subscriptionB; // OK
  _subscriptionB.cancel();
}

Limitações conhecidas

Esta regra não rastreia todos os padrões de instanciação e cancelamento de StreamSubscription. Consulte linter#317 para mais informações.

Ativar

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - cancel_subscriptions

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

analysis_options.yaml
yaml
linter:
  rules:
    cancel_subscriptions: 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ê.