flushEffects function

void flushEffects()

Flushes all queued effects and executes them.

This function processes all effects that have been queued for execution and runs them in order. It's typically called automatically by the reactive system, but can be called manually to force immediate execution of queued effects.

Example:

final signal1 = Signal(0);
final signal2 = Signal(0);
final signal3 = Signal(0);

// Multiple signal updates
signal1.value = 1;
signal2.value = 2;
signal3.value = 3;

// Force immediate execution of all queued effects
flushEffects();

Implementation

@pragma("vm:prefer-inline")
@pragma("wasm:prefer-inline")
@pragma("dart2js:prefer-inline")
@pragma("vm:align-loops")
@pragma('vm:unsafe:no-bounds-checks')
void flushEffects() {
  while (notifyIndex < queuedLength) {
    final effect = queued[notifyIndex]!;
    queued[notifyIndex++] = null;
    effect.runEffect();
  }
  notifyIndex = 0;
  queuedLength = 0;
}