Effect 4 RC7 labs ejecutables

Lección 07 / 07 · Resiliencia · 15 min

Scope

Un recurso necesita un final claro. Effect.acquireRelease une la adquisición con su limpieza dentro de un Scope y Effect.scoped delimita su vida. La liberación debe ocurrir también cuando el uso termina con un fallo, no sólo en el camino exitoso.

Qué vas a aprender

  • Verificar que la limpieza ocurre después de un fallo.
  • Leer el orden inverso en que se liberan dos recursos adquiridos en un mismo scope.

Probalo en el laboratorio

Elegí un caso. Describe muestra su plan didáctico sin ejecutarlo. Run ejecuta el programa con Effect y devuelve su resultado.

Elegí Describe para leer el plan o Run para ejecutarlo.
El resultado va a aparecer acá.

Tu turno

  1. Ejecutá success-release y anotá la secuencia de lifecycle.
  2. Predecí fail-still-releases y verificá que release siga presente aunque ok sea false.
  3. Ejecutá nested-order. El nombre es histórico: este motor adquiere dos recursos en un mismo scope. Compará el orden de adquisición con el de liberación.

Comprobá tu razonamiento

¿El preset nested-order demuestra scopes anidados?

Ver explicación

No. Adquiere dos recursos en el mismo scope, que se liberan en orden inverso (LIFO). Los nombres outer e inner son etiquetas del ejemplo. No hay conexiones reales ni scopes hijos en ese preset.