我用约翰尼-5和被动红外探测器和C.H.I.P.Linux单板电脑工作。总的来说一切都很好。
但是假设我定义了一个别针和一个按钮,就像这样:
let button = new five.Button({
pin: 'XIO-P0'
});
let pir = new five.Pin({
pin: 'PWM0',
type: 'digital',
mode: 0
});在某种程度上,我决定听一听这样的事件和按钮:
button.on('press', function() {
console.log('Button pressed');
});
pir.read(function (error, value) {
if (error) {
console.log('Error:', error);
} else {
console.log('Pin:', value);
}
});我该怎么告诉约翰尼-五我不想再听那件事了?在我的生活中,我找不到它在文档或谷歌上提到的任何地方。
任何帮助都将不胜感激。
发布于 2017-03-10 17:37:49
因此,Button扩展了Node.js EventEmitter对象。因此,您可以使用与其关联的removeListener()和removeAllListeners()方法。但似乎需要将回调定义为非匿名函数,以便可以引用它们进行删除。
button.on('press', buttonPressCallback);
function buttonPressCallback() {
console.log('Button pressed');
}Pin.read()函数的工作方式不同,所以如果您想要以同样的方式关闭它,就需要为Pin使用事件接口。有high、low和data事件。数据会做所有的改变。
pir.on('high', pinHighCallback);
pir.on('low', pinLowCallback);
function pinHighCallback() {
console.log('Pin: HIGH');
}
function PinLowCallback() {
console.log('Pin: LOW');
}因此,现在要删除这些侦听器,我们只需调用以下命令:
button.removeListener('press', buttonPressCallback);
pin.removeListener('high', pinHighCallback);
pin.removeListener('low', pinLowCallback);https://stackoverflow.com/questions/42701544
复制相似问题