Actionrepresents a repeatable work like
SignalProducer. But on top of the isolation of produced
Signals from a
Actionprovides higher-order features like availability and mutual exclusion.
The core of
executeclosure it created with. For every execution attempt with a varying input, if the
Actionis enabled, it would request from the
executeclosure a customized unit of work — represented by a
SignalProducer. Specifically, the
executeclosure would be supplied with the latest state of
Actionand the external input from
Actionenforces serial execution, and disables the
Actionduring the execution.
public final class Action<Input, Output, Error> where Error : Error