Add events to the object to monitor events

Introduce event module and tool module:

var events = require('events')
var util = require('util')

Person constructor:

var Person = function (name) {
    this.name = name
}

Person inherits the event listener object of events:

util.inherits(Person, events.EventEmitter)

Create two test objects and place them in the array:

var xiaoming = new Person('xiaoming')
var zhangshan = new Person('zhangshan')

var human = [xiaoming, zhangshan]

Let each object add a'speak' event and pass in parameters:

human.forEach(function (someperson) {
    someperson.on('speak', function (word) {
        console.log(someperson.name, word)
    })
})

When the'speak' event occurs, the function is triggered; here we manually trigger the speak event:

xiaoming.emit('speak', 'nihao')
zhangshan.emit('speak', 'laji')

Test Results:

Overall code:

var events = require('events')
var util = require('util')

var Person = function (name) {
    this.name = name
}
util.inherits(Person, events.EventEmitter)

var xiaoming = new Person('xiaoming')
var zhangshan = new Person('zhangshan')

var human = [xiaoming, zhangshan]
human.forEach(function (someperson) {
    someperson.on('speak', function (word) {
        console.log(someperson.name, word)
    })
})

xiaoming.emit('speak', 'nihao')
zhangshan.emit('speak', 'laji')

 

Guess you like

Origin blog.csdn.net/qq_41999592/article/details/104393637