Adicione eventos ao objeto para monitorar eventos

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')

 

Acho que você gosta

Origin blog.csdn.net/qq_41999592/article/details/104393637
Recomendado
Clasificación