Create a signal the sequence can wait on, for an event or any other out of band
completion.
Put the defer object itself in the step list to register it. Registering does not
block: the run keeps going, and the current value passes through. But the run cannot
finish until every registered defer has settled.
Put defer.wait([ms]) in the list to block at that spot until the signal settles.
The next step then gets the signal's value, and the previous value is dropped. A
signal that already settled makes wait() continue right away, so a test can set up
listeners, start the work, and check the result later.
Create a signal the sequence can wait on, for an event or any other out of band completion.
Put the defer object itself in the step list to register it. Registering does not block: the run keeps going, and the current value passes through. But the run cannot finish until every registered defer has settled.
Put
defer.wait([ms])in the list to block at that spot until the signal settles. The next step then gets the signal's value, and the previous value is dropped. A signal that already settled makeswait()continue right away, so a test can set up listeners, start the work, and check the result later.