run In Parallel
Run some other code at the same time that your main program code runs.
control.runInParallel(() => {})
Sometimes you want your program to work on more than one thing at a time. The main part of your program is
always put in ||on start||
. But, you can also put some other part of your
program in ||control:run in parallel||
. This is useful when you want your program to keep doing important things
and you don’t want to wait for some other actions to happen first.
Separate tasks
As an example, you could have a small task to rotate a bit in a 16 character
string of zeros. This is placed inside a ||control:run in parallel||
block:
let bitPos = 0
let rorit = true
let zeros = ""
control.runInParallel(function() {
while (rorit) {
if (bitPos > 15) {
bitPos = 0
}
zeros = ""
for (let i = 0; i < 16; i++) {
if (bitPos == i) {
zeros = zeros + "1"
} else {
zeros = zeros + "0"
}
}
console.log(zeros)
pause(200)
}
})
Code is added to the main part of the program to turn the bit rotation on, pause for 5
seconds and then turn it off. It pauses for another 5
seconds and then trys to turn the bit rotation back on. However, the parallel task has finished and
the bit rotation won’t start again.
let rorit = true
pause(5000)
rorit = false
pause(5000)
rorit = true
Parameters
- a: the code to run in the background.
Example
Use a parallel task to generate a magic number. In the main program check the value of the magic number twice. The first time check the value right away. The
second time, check 2
seconds later after the parallel task has time to run.
let magic = 0
control.runInParallel(function() {
magic = Math.randomRange(1000, 5000)
})
console.logValue("magic", magic)
pause(2000)
console.logValue("magic", magic)