是否可以为每个付款地址创建一个独特的事件?
这不起作用:
var EventEmitter = require("events").EventEmitter;
var ee = new EventEmitter();
function emitpayment(address) {
ee.emit("payment"+address,data);
}
function receivepayment(address) {
ee.on("payment"+address, function (data) {
// whatever
});
}
此致
答案 0 :(得分:1)
是的,你可以这样做。 Node中的事件名称(无论如何,通过股票EventEmitter)都是简单的字符串。
您需要确保在开始发布事件之前注册了处理程序:
var EventEmitter = require("events").EventEmitter;
var ee = new EventEmitter();
function emitpayment(address, data) {
ee.emit("payment"+address,data);
}
function receivepayment(address) {
ee.on("payment"+address, function (data) {
console.log("received event payment" + address);
console.dir(data);
});
}
receivepayment("giant metallic balloon");
emitpayment("giant metallic balloon", { hello: "world" } );