Normalerweise würde ich eine Klasse erstellen und erweitern sie mit es6 Klassenhinzufügen Klasse Eigenschaften reguläre Funktion
Aber dieses Mal bekam ich nur eine reguläre Funktion, die Ich mag würde die EventEmitter zu
function hello(){
return 'world';
}
hello(); // world
hinzufügen Die Funktion ist kein Konstruktor und sollte nicht mit new
aufgerufen werden. Jetzt möchte ich auch die EventEmitter-Eigenschaften dieser Funktion hinzugefügt haben (ähnlich wie $
von jquery, wo es eine Funktion und ein Objekt ist)
Wie würde ich das erreichen?
Ich dachte etwas in Bezug auf:
const {EventEmitter} = require('events')
function hello(){
hello.emit('something', 'called foo')
return 'world'
}
const myEE = new EventEmitter()
Object.assign(hello, myEE)
hello.on('something', console.log) // called foo
hello() // world
aber das funktioniert nicht. Hast du irgendwelche Vorschläge? Hoffnung gibt es einen besseren Weg, dann so etwas wie hello.on = myEE.on
für alle Eigenschaften der Veranstaltung zu tun