EffectTalk

Effect.sync: when does the code run?

Use `Effect.sync` to wrap synchronous code (including side effects) in an Effect. The code inside `Effect.sync` does not run when you call it—it runs only when you execute the Effect.

Watch the log order: you'll see "1" and "3" first; "2" appears only after you run the Effect.

  • Use `Effect.sync(() => { ... })` to wrap synchronous code in an Effect
  • The code inside `Effect.sync` doesn't execute until you run the Effect
  • Try running the Effect with `Effect.runSync(effect)` to see all three logs
Loading code editor...