Skip to content

Instantly share code, notes, and snippets.

@durango
Forked from miguelmota/event_emitter.go
Created January 31, 2019 15:57
Show Gist options
  • Save durango/b5e3f43b3bc4b9a15c67ed498d1bc686 to your computer and use it in GitHub Desktop.
Save durango/b5e3f43b3bc4b9a15c67ed498d1bc686 to your computer and use it in GitHub Desktop.
Golang event emitter example
package main
import (
"fmt"
)
type MyEmitter map[string]chan string
func main() {
myEmitter := MyEmitter{}
myEmitter["my-event"] = make(chan string)
myEmitter["my-other-event"] = make(chan string)
go func() {
for {
select {
case msg := <-myEmitter["my-event"]:
fmt.Println(msg)
case msg := <-myEmitter["my-other-event"]:
fmt.Println(msg)
}
}
}()
myEmitter["my-event"] <- "hello world"
myEmitter["my-other-event"] <- "hello other world"
}
const EventEmitter = require('events')
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter()
myEmitter.on('my-event', msg => {
console.log(msg)
})
myEmitter.on('my-other-event', msg => {
console.log(msg)
})
myEmitter.emit('my-event', 'hello world')
myEmitter.emit('my-other-event', 'hello other world')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment