2015-12-29 2 views
1

Я определил Вал в глобальном, и я надеюсь, что этот вар в обратном вызове некоторой функции, в коде, как показано ниже:Nodejs как посетить глобальный val в обратном вызове?

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 
+3

Использование 'exports.ready_to_exit'. Глобальной переменной 'ready_to_exit' нет. – freakish

ответ

2

Если вы хотите создать переменную global, вы должны установить ее как свойство объекта global. Изменение:

exports.ready_to_exit = false; 

To:

global.ready_to_exit = false; 
Смежные вопросы