info-bus

1.0.3 • Public • Published

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> 

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
1.0.30latest

Version History

VersionDownloads (Last 7 Days)Published
1.0.30
1.0.20
1.0.10
1.0.00

Package Sidebar

Install

npm i info-bus

Weekly Downloads

0

Version

1.0.3

License

ISC

Unpacked Size

8.39 kB

Total Files

5

Last publish

Collaborators

  • panshanshan