1.3 KiB
1.3 KiB
In Background
Run code in the background as a separate process or thread; for more information on this advanced construct, see the micro:bit - a reactive system.
control.inBackground(() => {
})
Example
The example below shows how a background process can be used to display the current value of the global variable num, while code (like the on button pressed handler) can change the value of the variable.
let num = 0
control.inBackground(() => {
while (true) {
basic.showNumber(num, 150)
basic.pause(100)
}
})
input.onButtonPressed(Button.A, () => {
num++;
})
The code below using the forever loop is equivalent to the code above
let num = 0
basic.forever(() => {
basic.showNumber(num, 150)
})
input.onButtonPressed(Button.A, () => {
num++;
})
Contention for the LED display
If you have multiple processes that each show something on the LED screen, you may get unexpected results. Try, for example:
basic.forever(() => {
basic.showNumber(6789, 150)
})
input.onButtonPressed(Button.A, () => {
basic.showNumber(2, 150)
})