Comments (1)
The reason we use it is because node.js does, and events
tries to stay as close as possible to the node.js source code so applying changes from future node.js updates is easier.
node.js uses it because they've benchmarked it and found it faster, although of course that can change over time with V8 updates!
Right now, spliceOne is faster for me in both cases on Firefox:
And on Chrome the difference is negligible:
I think typically with event emitters, the most common case is removing a listener from the tail, and removing listeners from somewhere in the middle. Unfortunately I can't manage to log in to jsperf to add that last case :(
from events.
Related Issues (20)
- off is not a function HOT 2
- unbind events HOT 2
- Backport off to v2 as non-breaking change HOT 1
- Add events.once HOT 9
- TypeError: Cannot read property 'EventEmitter' of undefined typescript nodejs HOT 1
- Function.prototype.apply can be undefined HOT 2
- unhandled 'error' events should throw the error on next tick (setTimeout or setImmediate) HOT 2
- Not working in child process to parent process HOT 1
- Implement `events.on` HOT 2
- Implement `EventTarget` and `Event` HOT 1
- why 'on' function implement two times? HOT 1
- Support AbortSignal HOT 4
- Events.js has unhandled errors and errors regarding ports
- Question: why do not use events.forEach in emit() function? HOT 7
- how do I load this with vite/sveltekit? HOT 2
- Plan to fix CVE? HOT 1
- Support setMaxListeners
- Vulnerability CVE-2018-25076 Found in events 3.3.0 HOT 1
- Minimalist version HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from events.