函数多次执行

时间:2018-02-18 21:45:30

标签: node.js singleton export require

Inside mining.js我有这样的module.exports:

module.exports = function(io, socket, player) {
    ...
    function generateOre() {
        player.iron +=1;
    }
    ...
}

Inside mining.js我需要从其他文件访问其他函数和变量。在woodcutting.js中,我需要这样的mining.js文件:

let mining = require('./mining')(io, socket, player);

在其他文件socket.js中我还需要挖掘和木刻

let mining = require(./mining)(io, socket, player);
let woodcutting = require(./woodcutting)(io, socket, player);

现在当我的另一个函数在mining.js中调用generateOre()时,该函数运行两次。我只想从mining.js访问某些函数和变量。如果不运行两个mining.js实例,怎么做呢? 或者当我要求在两个不同的地方采矿时是否存在问题?

编辑:

在此函数中调用generateOre():

    socket.on('increase resource', function () {
        clearIntervals();
        generatingIron = setInterval( function() { generateOre() }, BASE.ironRequiredTime * calculateMiningPower());
    }

在woodcutting.js中,我希望能够调用clearIntervals()来清除所有挖掘间隔。

0 个答案:

没有答案