Nodejs如何在回调中访问全局val?

时间:2015-12-29 09:46:21

标签: javascript node.js callback

我在全局中定义了一个val,我希望在函数的回调中访问这个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

1 个答案:

答案 0 :(得分:2)

如果要创建全局变量,则应将其设置为global对象的属性。变化:

exports.ready_to_exit = false;

要:

global.ready_to_exit = false;