JSFiddle - React, Tailwind, and code Playground

by kvzhuang

JavaScript

function fn1( value ){
    console.log( value );
}

function fn2( value ){
    fn1("fn2 says:" + value);
    return false;
}
var callbacks = $.Callbacks( "memory" );
callbacks.add( fn1 );
callbacks.fire( "foo" );
callbacks.add( fn2 );
callbacks.fire( "bar" );
callbacks.remove( fn2 );
callbacks.fire( "foobar" );

console.log( "============");
/*
output:

foo             //1st fire

fn2 says:foo   // add fn2 and fire value is 1st fire

bar            //2nd fire, memory keep 1st fire value
fn2 says:bar

foobar          //3rd fire, fn2 removed, only fn1
*/


var callbacks2 = $.Callbacks(  );
callbacks2.add( fn1 );
callbacks2.fire( "foo" );
callbacks2.add( fn2 );
callbacks2.fire( "bar" );
callbacks2.remove( fn2 );
callbacks2.fire( "foobar" );
/*
output
foo           //1st fire

bar           //2nd fire
fn2 says:bar  

foobar        //3rd fire
*/