1
Ich habe Benutzer-Service wie folgt aus:Was ist ein besserer Ansatz für den Umgang mit EventEmitter und zyklischen Anforderungen?
'use strict';
let events = require('services/events');
module.exports = {
create: function (data) {
doCreate(data).then(user => {
events.emit('user.create');
});
},
addBonus: function (transaction) {
doSomething;
}
}
Und ich habe events
Modul:
'use strict';
let EventEmitter = require('events').EventEmitter;
let pubsub = new EventEmitter();
let userService = require('services/user');
pubsub.on('user.create', function(user) {
console.log('EVENT: user.create');
doSomething();
}
pubsub.on('payment.success', function(transaction) {
userService.addBonus(transaction); // check if it was first transaction then add bonus to user
}
module.exports = pubsub;
In diesem Fall Code zyklisch hat erfordert und Code funktioniert nicht.
Ich denke, es ist üblich, wenn events
Modul Service verwendet, die das Ereignis in diesem Modul emittieren. Was ist besser Ansatz, um diesen Fall zu entwerfen? Ich habe nächste Ideen:
- einige
events
Module von Ereignissen geben - Funktion in
user
Dienstnutzungs Konstruktor klassifiziert erstellen
War Dies ist eine akzeptable Antwort? – akaphenom