Class: Runner


A Runner is a highly performant and simple alternative to signals. Best used in situations where events are dispatched to many objects at high frequency (say every frame!)

like a signal..

const myObject = {
    loaded: new PIXI.Runner('loaded')

const listener = {
    loaded: function(){
        // thin



Or for handling calling the same function on many items

const myGame = {
    update: new PIXI.Runner('update')

const gameObject = {
    update: function(time){
        // update my gamey state



new PIXI.Runner (name)

Name Type Description
name string

the function name that will be executed on the listeners added to this Runner.


empty boolean readonly

true if there are no this Runner contains no listeners

name string readonly

The name of the runner.


add (item)

Add a listener to the Runner

Runners do not need to have scope or functions passed to them. All that is required is to pass the listening object and ensure that it has contains a function that has the same name as the name provided to the Runner when it was created.

Eg A listener passed to this Runner will require a 'complete' function.

const complete = new PIXI.Runner('complete');

The scope used will be the object itself.

Name Type Description
item any

The object that will be listening.

contains (item)

Check to see if the listener is already in the Runner

Name Type Description
item any

The listener that you would like to check.

destroy ()

Remove all references, don't use after this.

dispatch ()

Alias for emit


emit (params)

Dispatch/Broadcast Runner to all listeners added to the queue.

Name Type Description
params any repeatable

optional parameters to pass to each listener

remove (item)

Remove a single listener from the dispatch queue.

Name Type Description
item any

The listenr that you would like to remove.

removeAll ()

Remove all listeners from the Runner

run ()

Alias for emit