info-bus

It can be used to communicate in any project.

Usage no npm install needed!

<script type="module">
  import infoBus from 'https://cdn.skypack.dev/info-bus';
</script>

README

info-bus

It can be used to communicate in any project.

get start

npm install info-bus --save

api

$on

Listen for an event

function callBack1(information){
    console.log(information)
}
infoBus.$on('yourEventName', callBack1);

$emit

Triggering event

var information = 'Hello info-bus!';
infoBus.$emit('yourEventName', information);
// => Hello info-bus!

// And you can trigger multiple callbacks in the same event as long as you have multiple listeners.
function callBack2(information){
    console.log(information+' this is callBack2.')
}
infoBus.$on('yourEventName', callBack2);

infoBus.$emit('yourEventName', information);
// => Hello info-bus!
// => Hello info-bus! this is callBack2.

$off

Log off events It can write off a callback for an event and also write off all callbacks.

// Cancels a callback for an event.
infoBus.$off('yourEventName', callBack1); // Only Cancels the callBack1.

// Cancels all callbacks for an event.
infoBus.$off('yourEventName');

$once

Triggered only once

infoBus.$once('yourEventName', (...rest)=>{ console.log(rest) }); // It will only be triggered once.

infoBus.$emit('yourEventName', 'First_val1', 'First_val2');   // First emit.
infoBus.$emit('yourEventName', 'Second_val3', 'Second_val4'); // again.

// => 'First_val1', 'First_val2'

usage

  • es6
import infoBus from 'info-bus';

// Mount to the global and use the same infobus anywhere.
window.infoBus = infoBus;


function log1(value) {
    console.log(`log1:${value}`);
}

function log2(value) {
    console.log(`log2:${value}`);
}

// Listen for an event
infoBus.$on('log', log1);
infoBus.$on('log', log2);
// Triggering event
infoBus.$emit('log', 123);
// The console will print:
// log1:123
// log2:123


// Log off an event
infoBus.$off('log', log1);// Only Cancels the log1.
// Triggering event
infoBus.$emit('log', 123);
// The console will print:
// log2:123
  • usual
<script src="./node_modules/info-bus/info-bus.min.js"></script>
<script>
    window.infoBus = infoBus;
    function log1(value) {
        console.log(`log1:${value}`);
    }

    function log2(value) {
        console.log(`log2:${value}`);
    }

    // Listen for an event
    infoBus.$on('log', log1);
    infoBus.$on('log', log2);
    // Triggering event
    infoBus.$emit('log', 123);
    // The console will print:
    // log1:123
    // log2:123


    // Cancels all callbacks for log.
    infoBus.$off('log');
    // Triggering event
    infoBus.$emit('log', 123);
    // Nothing happened.
</script>