Apresentar módulo de evento e módulo de ferramenta:
var events = require('events')
var util = require('util')
Construtor de pessoa:
var Person = function (name) {
this.name = name
}
Person herda o objeto ouvinte de evento de eventos:
util.inherits(Person, events.EventEmitter)
Crie dois objetos de teste e coloque-os na matriz:
var xiaoming = new Person('xiaoming')
var zhangshan = new Person('zhangshan')
var human = [xiaoming, zhangshan]
Deixe cada objeto adicionar um evento'peak 'e passar os parâmetros:
human.forEach(function (someperson) {
someperson.on('speak', function (word) {
console.log(someperson.name, word)
})
})
Quando o evento 'fala' ocorre, a função é acionada; aqui, acionamos manualmente o evento fala:
xiaoming.emit('speak', 'nihao')
zhangshan.emit('speak', 'laji')
Resultado dos testes:
Código geral:
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')