gpt4 book ai didi

javascript - 如何导出模块和变量

转载 作者:太空宇宙 更新时间:2023-11-04 00:20:17 24 4
gpt4 key购买 nike

我正在研究传感器代码,当一个对象处于特定边界时,它应该发出('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”为 true 时,“here”应该等于 true

enter = false
function onProximityBoolean(enter) {
console.log(enter + " emit entered");
return enter;
}

module.exports = {
withinBounds: withinBounds,
onProximityBoolean: onProximityBoolean(enter)
};

但是它打印成这样

/image/Yvh6U.jpg

我如何才能不断地重新分配自己?

最佳答案

您的 module.exports 返回 onProximityBoolean(undefined) 的值,而不是函数本身。

如果你将 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 循环中都调用该函数。

关于javascript - 如何导出模块和变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44786347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com