An event manager very simple
All browser | Backend (Nodejs) | Mobile (React Native) |
---|---|---|
✅ | ✅ | ✅ |
Compatibility with all javascript project
npm install jetemit
const { on, emit } = require("jetemit");
//or
import { on, emit } from "jetemit";
import { emit } from "jetemit";
/**
* emit(name, value);
* name is string
* value any
*/
emit("TIME", "2018-12-01 12:30");
import { on } from "jetemit";
/**
* on(name,function)
* name is string
*/
on("TIME", time => {
console.log(time);
});
import { once } from "jetemit";
/**
* Like on but run one time
*/
once("TIME", time => {
console.log(time);
});
import { on } from "jetemit";
/**
* on return unsubscribe function
*/
const unsubscribe = on("TIME", time => {
console.log(time);
});
unsubscribe();
import { unsubscribeOf } from "jetemit";
/**
* Unsubscribe all subscribed functions for TIME
*/
unsubscribeOf("TIME");
/**
* Unsubscribe a Function which subscribed for TIME
*/
unsubscribeOf("TIME", timeFunction);
Please see this sample:
// file a.js
import { on } from "jetemit";
on("CACHE_STSTEM_HEALTH", () => {
return { state: "OK", id: "CACHE_SYSTEM_1" };
});
// file b.jd
import { on } from "jetemit";
on("CACHE_STSTEM_HEALTH", () => {
return { state: "OK", id: "CACHE_SYSTEM_2" };
});
// file c.js
import { on, emit } from "jetemit";
const status = emit("CACHE_STSTEM_HEALTH");
console.log(status);
/*
[
{ state: "OK", id: "CACHE_SYSTEM_1" },
{ state: "OK", id: "CACHE_SYSTEM_2" }
]
*/
BTC: 1NV1sjQnXwuyHgxQ8G5eWprhxsD5A8yN6r