Вы можете наблюдать из своего кода, что вы создаете нового слушателя каждый раз, когда вы вызываете doSomething (). Поэтому количество раз, когда вы получаете сообщение, увеличивается каждый раз, когда вы вызываете doSomething ()
Вы должны определить emitter.on ('message' .... block за пределами doSomething () и вместо этого просто испускать событие emit ('message' ... внутри doSomething (), чтобы выпустить событие или использовать removeListener ('message .... для отключения излучателя события при определенных обстоятельствах.
Если вы постоянно поддерживаете 1 излучателя и 1 слушателя, вы должны быть в порядке.
В основном это должно быть то, что вы ожидаете.