如果我在nodejs中的私有方法中调用module.exports.public_method,是否有副作用?

我想知道这是否是在Node.js中执行recursionsetTimeout的正确方法?

 module.exports = { connect: function(callback) { amqp.connect(config.queue.url, function(err, connection) { if (err) { console.error("[AMQP]", err.message); return setTimeout(module.exports.connect, 1000); // keep reconnecting } }); } } 

我试图在Node.js中实现重新连接机制。 但我不确定这一行是否会在JavaScript中产生副作用? return setTimeout(module.exports.connect, 1000);

它应该工作正常,但我认为你应该改善你的代码,以允许连接尝试的主叫方的通知(即使你执行重新连接)。