![38% of CISOs Fear They’re Not Moving Fast Enough on AI](https://cdn.sanity.io/images/cgdhsj6q/production/faa0bc28df98f791e11263f8239b34207f84b86f-1024x1024.webp?w=400&fit=max&auto=format)
Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
listener-collection
Advanced tools
This library extends the standard event mechanism with ability to wait until all asynchronous events are processed.
npm install listener-collection
var ListenerCollection = require("listener-collection");
var liseners = new ListenerCollection();
listeners.add("listener1", function(param1, param2, next) {
setTimeout(function() {
console.log("listener");
next();
}, 100);
});
listeners.add("listener2", function(param1, param2, next) {
setTimeout(function() {
console.log("listener2");
next();
}, 200);
});
listeners.fire("A", "B", function() {
console.log("both listeners are processed now");
});
var ListenerCollection = require("listener-collection");
var liseners = new ListenerCollection();
listeners.add("a name", function(param1, param2) {
console.log("listener catch");
return promise;
});
listeners.fire("A", "B").then(function() {
console.log("everything is done");
});
listeners.add("a name", context, function() {
//this runs bound to context
});
Listeners are executed one by one in order they were added. If you want to add a listener to a particular position you can use insert
and specify the condition when the listener should be invoked.
listeners.add("listener1", function() { ... });
listeners.add("listener2", function() { ... });
listeners.insert({ after: "listener1" }, "listener3", function() { ... });
Alternatively you can also use before
instead or together with after
.
listeners.add("test", function () { });
listeners.remove("test");
listeners.post(function() {
console.log("this runs after the listeners are invoked");
});
listeners.pre(function() {
console.log("this runs before the listeners are invoked");
});
listeners.postFail(function(err) {
console.log("this runs after the listeners are invoked when one of the listeners fails");
});
MIT
FAQs
node.js library adding async support to events
We found that listener-collection demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.