Nodejs如何在callback中访问全局val?
我在全局中定义了一个val,我希望在函数的callback中访问这个var,代码如下所示:
exports.ready_to_exit = false; function send2kafkaImpl(payloads, cb) { kproducer.send(payloads, function(err) { if (!err) { if (ready_to_exit) { console.log('ready to exit'); process.exit(); } else { return cb(); } } console.log(new Date() + ' Kafka error: ', err.message || err); send2kafkaImpl(payloads, cb); }); }
当我运行这个代码时,出现错误:
if (ready_to_exit) { ^ ReferenceError: ready_to_quit is not defined
如果你想做一个全局variables,你应该把它设置为global
对象的一个属性。 更改:
exports.ready_to_exit = false;
至:
global.ready_to_exit = false;