https://github.com/biugle/js-xcall
A Simple Events Dispatcher Singleton Class. JavaScript 的一个简单的事件派发单例类 [EventBus]
https://github.com/biugle/js-xcall
call dispatcher eventbus javascript typescript xcall
Last synced: about 2 months ago
JSON representation
A Simple Events Dispatcher Singleton Class. JavaScript 的一个简单的事件派发单例类 [EventBus]
- Host: GitHub
- URL: https://github.com/biugle/js-xcall
- Owner: biugle
- License: mit
- Created: 2022-03-31T10:47:37.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-17T07:17:39.000Z (about 1 year ago)
- Last Synced: 2025-03-23T23:35:06.161Z (2 months ago)
- Topics: call, dispatcher, eventbus, javascript, typescript, xcall
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/js-xcall
- Size: 50.8 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.en.md
- License: LICENSE
Awesome Lists containing this project
README
# js-xcall
A Simple Events Dispatcher Singleton Class.
## Install
```bash
npm install js-xcall -S
```## Import
```javascript
const { XCall } = require('js-xcall');
import { XCall } from 'js-xcall';
import XCall from 'js-xcall';const { XCall } = $call;
XCall.addCallBack('test', function () {
console.log('test-browser', arguments);
});
```## Use
```javascript
console.log(XCall);XCall.addCallBack('test', function () {
console.log('test1', arguments);
});var test = function (data1, data2) {
console.log('test2', data1, data2);
};XCall.addCallBack('test', test);
XCall.dispatch('test', 123, 456);
// test1 [Arguments] { '0': 123, '1': 456 }
// test2 123 456console.log(
'hasCallBack-test',
XCall.hasCallBack('test', test),
XCall.hasCallBack('test', () => {}),
XCall.existEvent('test')
); // hasCallBack-test true false trueXCall.getCount(); // 1 (event count)
XCall.removeCallBack('test', test);
XCall.existEvent('test'); // true
XCall.getCount('test'); // 1 (callback count)
XCall.dispatch('test'); // test1 [Arguments] {}
XCall.deleteEvent('test');
XCall.getCount('test'); // 0 (callback count)
XCall.existEvent('test'); // falseXCall.setOnceEvent('test-once', test);
XCall.existEvent('test-once'); // true
XCall.getCount('test-once'); // 1 (callback count)
XCall.getCount(); // 1 (event count)
XCall.dispatch('test-once');
XCall.existEvent('test-once'); // falseXCall.getCount(); // 0 (event count)
XCall.dispatch('test-not'); // Error: not found test-not
XCall.addCallBack('hello', test); // only one callback
XCall.existEvent('hello'); // true
XCall.dispatch('hello', 0, 1); // test2 0 1
XCall.removeCallBack('hello', test); // will remove event listener
XCall.existEvent('hello'); // false
```## API Docs
[API Docs](https://github.com/biugle/js-xcall/blob/main/docs/README.md)
## Others
* [Issue](https://github.com/biugle/js-xcall/issues)
* [Pull Request](https://github.com/biugle/js-xcall/pulls)
* [[email protected]](mailto:[email protected])