Skip to content

Instantly share code, notes, and snippets.

@zhaomengru2015
Last active February 12, 2020 02:19
Show Gist options
  • Select an option

  • Save zhaomengru2015/6eb1bad0191dbcb84ac833f89a80f877 to your computer and use it in GitHub Desktop.

Select an option

Save zhaomengru2015/6eb1bad0191dbcb84ac833f89a80f877 to your computer and use it in GitHub Desktop.
nodeJs event emitter
import { EventEmitter } from "events";
import express from 'express';
const eventEmitter = new EventEmitter();
const app = express();
app.set('eventEmitter', eventEmitter);
// access it from any module of the application
console.log(app.get('eventEmitter'));
import { EventEmitter } from "events";
const eventEmitter = new EventEmitter();
eventEmitter.on("myEvent", data => console.log(data, "- ON"));
eventEmitter.on("myEvent2", data => console.log(data, "- ON"));
eventEmitter.once("myEvent3", data => console.log(data, "- ONCE"));
console.log(eventEmitter.eventNames());
eventEmitter.emit("myEvent3", 'EVENT');
console.log(eventEmitter.eventNames());
import { EventEmitter } from "events";
const eventEmitter = new EventEmitter();
eventEmitter.on("myEvent", data => {
console.log(data, "- ON");
});
eventEmitter.once("myEvent", data => {
console.log(data, "- ONCE");
});
eventEmitter.emit("myEvent", "Emitted Statement");
eventEmitter.emit("myEvent", "Emitted Statement");
eventEmitter.emit("myEvent", "Emitted Statement");
import { EventEmitter } from 'events';
const eventEmitter = new EventEmitter();
eventEmitter.on('myEvent', (data) => {
console.log(data, '- FIRST');
});
console.log('Statement A');
eventEmitter.on("myEvent", data => {
console.log(data, '- SECOND');
});
eventEmitter.emit('myEvent', 'Emitted Statement');
console.log("Statement B");
process.on("exit", () => console.log("Exit"));
process.on('uncaughtException', () => {
console.log('Exception');
process.exit();
});
throw new Error('Test Error');
import { createReadStream } from "fs";
let chunkIndex = 0;
const readStream = createReadStream("./data.txt");
readStream.on("open", () => {
console.log("Started Reading...");
});
readStream.on("end", () => {
console.log("Completed Reading...");
});
readStream.on("data", chunk => {
console.log("Chunk: " + ++chunkIndex);
console.log("-----------------------------------------");
console.log(chunk);
console.log("\n");
});
import { EventEmitter } from "events";
const eventEmitter = new EventEmitter();
function func1() {
console.log("EVENT TRIGGERED");
}
eventEmitter.on("myEvent", func1);
eventEmitter.on("myEvent2",func1);
eventEmitter.removeAllListeners();
console.log(eventEmitter.eventNames());
import { EventEmitter } from "events";
const eventEmitter = new EventEmitter();
function func1() {
console.log("EVENT TRIGGERED");
}
eventEmitter.on("myEvent", func1);
eventEmitter.on("myEvent2", func1);
console.log(eventEmitter.eventNames());
eventEmitter.removeListener("myEvent", func1);
console.log(eventEmitter.eventNames());
import { EventEmitter } from 'events';
const eventEmitter1 = new EventEmitter();
eventEmitter1.on('myEvent', () => {
console.log('Listener');
});
const eventEmitter2 = new EventEmitter();
eventEmitter2.emit('myEvent');
import { EventEmitter } from 'events';
const eventEmitter = new EventEmitter();
eventEmitter.on('myEvent', () => {
console.log('Listener 1');
});
eventEmitter.emit('myEvent');
eventEmitter.on("myEvent", () => {
console.log("Listener 2");
});
import { EventEmitter } from 'events';
const eventEmitter = new EventEmitter();
// listen to the event
eventEmitter.on('myEvent', () => {
console.log('Data Received');
});
// publish an event
eventEmitter.emit('myEvent');
import { EventEmitter } from 'events';
const eventEmitter = new EventEmitter();
eventEmitter.on('myEvent', (data) => {
console.log(data);
});
console.log('Statement A');
eventEmitter.emit('myEvent', 'Statement B');
console.log("Statement C");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment