我正在处理传感器代码,当一个对象是它应该发出的某些边界时(' enterProximity') 所以当这段代码运行时
main.js
var entered = require('./main').onProximityBoolean
io.on('connection', function(socket) {
setInterval(function() {
console.log("entered index " + entered);
var here = entered.onProximityBoolean;
if (here == true) {
socket.emit('enterProximity');
}
},1000);
}
在此代码中"此处"当"输入"在main.js中是正确的
enter = false
function onProximityBoolean(enter) {
console.log(enter + " emit entered");
return enter;
}
module.exports = {
withinBounds: withinBounds,
onProximityBoolean: onProximityBoolean(enter)
};
但是它打印得像这样
我如何到这里继续重新分配?
答案 0 :(得分:1)
你的module.exports返回onProximityBoolean(undefined)的值,而不是 function 本身。
如果您将module.exports更改为此
module.exports = {
withinBounds: withinBounds,
onProximityBoolean: onProximityBoolean,
};
然后你的跑步者:
var entered = require('./main').onProximityBoolean
io.on('connection', function(socket) {
setInterval(function() {
console.log("entered index " + entered);
var here = entered.onProximityBoolean(entered);
if (here == true) {
socket.emit('enterProximity');
}
},1000);
}
这可以解决您的问题吗?更改是确保onProximityBoolean是一个函数,并且每次在setInterval循环中调用该函数。