goto
Jump to a label
within the current section, optionally based on a condition.
The goto
method will only navigate to a label within the same section.
Name | Type | Default | Description |
---|---|---|---|
goto Required | object | - | An object that accepts the goto parameters . |
goto Parameters
Name | Type | Default | Description |
---|---|---|---|
label Required | string | - | The label in section to jump to. |
when Optional | string | undefined (unconditional jump) | JavaScript expression to evaluate. |
max Optional | integer | 100 | The maximum number of times to jump, from the minimum of 1 to max 100 jumps. |
Examples
Loop with max
- YAML
- JSON
version: 1.0.0
sections:
main:
- label: foo
- play:
url: 'say: This speech will be repeated 4 times.'
- goto:
label: foo
max: 3
{
"version": "1.0.0",
"sections": {
"main": [
{
"label": "foo"
},
{
"play": {
"url": "say: This speech will be repeated 4 times."
}
},
{
"goto": {
"label": "foo",
"max": 3
}
}
]
}
}
Loop if a condition is satisfied
- YAML
- JSON
version: 1.0.0
sections:
main:
- label: foo
- play:
url: 'say: This is some text that will be repeated 4 times.'
- set:
do_loop: true
- goto:
label: foo
when: do_loop === true
max: 3
{
"version": "1.0.0",
"sections": {
"main": [
{
"label": "foo"
},
{
"play": {
"url": "say: This is some text that will be repeated 4 times."
}
},
{
"set": {
"do_loop": true
}
},
{
"goto": {
"label": "foo",
"when": "do_loop === true",
"max": 3
}
}
]
}
}