isActive property

bool get isActive

Whether a batch() call is currently active (depth > 0), OR the outermost batch() call is currently flushing its queued notifications/recomputes. The latter matters for Computed: a recompute triggered during the flush (e.g. doubled recomputing and notifying sum, which in turn depends on tripled too) must still defer instead of running eagerly, or the diamond glitch would simply move one level down the cascade instead of being fixed. See _flushPending for the fixed-point loop this enables.

Se uma chamada batch() está atualmente ativa (profundidade > 0), OU a chamada batch() mais externa está atualmente fazendo flush de suas notificações/recomputes enfileirados. O segundo caso importa para Computed: um recompute disparado durante o flush (ex.: doubled recalculando e notificando sum, que por sua vez também depende de tripled) ainda precisa adiar em vez de rodar avidamente, ou o glitch do diamante simplesmente se moveria um nível abaixo na cascata em vez de ser corrigido. Ver _flushPending para o loop de ponto fixo que isso viabiliza.

Implementation

static bool get isActive => _depth > 0 || _flushing;