私はイベントを発生させるいくつかのオブジェクトを作成するmainを持っています。 これらのうちの1つは、gpioをリスニングするdigitalInputです。ノードj内のマザークラスにイベントを伝播
このようなクラスを見て:私はメインに作成し、それを作成するときに、私はdigitalInputに渡す
class dInput
{
constructor(port, _id, _name, _messageBus)
{
this.gpio = new Gpio(port, {
mode: Gpio.INPUT,
pullUpDown: Gpio.PUD_DOWN,
edge: Gpio.EITHER_EDGE
});
this.ID = _id;
this.Name = _name;
this.messageBus = _messageBus;
this.gpio.on('interrupt', function(level){
var details = {
ID: this.ID,
level: level,
name: this.Name
};
DigitalInputsController.ReportChange(details);
});
console.log("created");
}
}
messageBus私var messageBus = new events.EventEmitter();
。
messageBus.on("dInputChanged", function(data){
console.log(data);
socket.emit("ButtonStateChanged", data);
});
:GPIOの値が変化するが、一連のイベントが正常に起動したが何
これは私がメインで聞く方法です
{ ID: undefined, level: 0, name: undefined }
手がかり?イベントハンドラが呼び出された
私はそれをチェックし、報告します、ありがとう! – javirs
完全に機能します!ありがとう! – javirs