Skip to content

Detach

Name Mandatory Description Default Type
⬅️ Input Any input type is accepted. The input of this shard will be given as input for the specified Wire Any
Output ➡️ Outputs the input value, passed through unchanged. Any
Wire No The wire to execute. none WireStringNone
Restart No If true, the specified wire will restart whenever the shard is called, even if it is already running. false Bool

Schedules and executes the specified Wire asynchronously. The current Wire will continue its execution independently of the specified Wire. Unlike Spawn, only one unique copy of the specified Wire can be scheduled using Detach. Future calls of Detach that schedules the same Wire will be ignored unless the specified Wire is Stopped or ends naturally.

Details

The child wire scheduled makes copies of the context variables of the parent wire. Any changes to said variables will not be reflected on the parent wire.

Child wire is scheduled asynchronously and executes independently of the parent wire. Any pauses on the child wire will not pause the parent wire.

Child wire is scheduled on the same mesh as the parent wire.

And only schedule one unique copy of a wire at a time. Meaning, if there is another call for Detach to detach the exact same wire, it will be ignored if the said wire is still running.

Examples

1
2
3
4
5
6
@wire(hello {
  Msg("Hello")
})

Detach(Wire: hello)
Step(Wire: hello)

[info] [hello] Hello