evento#
Inicializando la clase de evento#
Un evento se crea utilizando el siguiente constructor:
El constructor event(callback)
utiliza dos parámetros:
Parámetro |
Descripción |
---|---|
|
Una función previamente definida que se llamará como un hilo cuando se transmita el evento. |
// Define the function print()
void print(){
brain.screen.print("Event was broadcast");
}
// Construct an Event "Event" with the
// event class.
event Event = event(print);
Este objeto “Evento” se utilizará en todos los ejemplos posteriores a lo largo de esta documentación de API cuando se haga referencia a los métodos de la clase de evento.
Métodos de clase#
colocar()#
El comando set(callback)
establece una nueva devolución de llamada y argumentos para el Evento.
Parámetros |
Descripción |
---|---|
llamar de vuelta |
La nueva función de devolución de llamada que se llamará cuando se active el evento. |
Devoluciones: Ninguna.
transmisión()#
El comando broadcast()
transmite el evento y hace que se ejecuten todas las funciones de devolución de llamada registradas.
Devoluciones: Ninguna.
void runOnBroadcast1() {
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Broadcast1 Running");
}
void runOnBroadcast2() {
Brain.Screen.setCursor(2, 1);
Brain.Screen.print("Broadcast2 Running");
}
int main() {
// Register callback functions to event.
Event(runOnBroadcast1);
Event(runOnBroadcast2);
// Brief wait to ensure event is registered
wait(15, msec);
// Broadcast the event.
Event.broadcast();
}
transmitirYEspera()#
El comando broadcastAndWait()
transmite el evento, hace que se ejecuten todas las funciones de devolución de llamada registradas y espera hasta que se hayan completado todas las funciones de devolución de llamada.
Devoluciones: Ninguna.
void runOnBroadcast1() {
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Broadcast1 Running");
}
void runOnBroadcast2() {
Brain.Screen.setCursor(2, 1);
Brain.Screen.print("Broadcast2 Running");
}
int main() {
// Register callback functions to event.
Event(runOnBroadcast1);
Event(runOnBroadcast2);
// Brief wait to ensure event is registered
wait(15, msec);
// Broadcast the event and wait for completion.
Event.broadcastAndWait();
Brain.Screen.setCursor(3, 1);
Brain.Screen.print("Listeners finished running");
}