Я новичок в node и пытаюсь создать что-то, что получит некоторую информацию о сервере. Но вот моя проблема. Я настраиваю объект конфигурации (со временем он будет динамически обновляться в зависимости от происходящих событий), а затем позже, в функции, я пытаюсь получить доступ к значению в этом объекте. (См. Код ниже)
Итак, сначала я настраиваю свои переменные:
var util = require('util'),
child = require('child_process'),
config = {};
, которые работают нормально. Затем я загружаю свою конфигурацию:
function loadConfig( )
{
// Add some code for auto-loading of args
config = {
"daemons": [
["Apache", "apache2"],
["MySQL", "mysqld"],
["SSH", "sshd"]
]
};
}
и инициализирую вызов функции
loadConfig();
После этого я запускаю свою проверку на демонах.
function getDaemonStatus( )
{
for(var i=0; i<config.daemons.length; i++)
{
child.exec( 'ps ax -o \'%c %P\' | awk \'{if (($2 == 1) && ($1 == "\'' +
config.daemons[i][1] + '\'")) print $0}\'',
function( error, stdout, stderr )
{
console.log(config.daemons[i]);
});
}
}
Я получаю такой ответ:
undefined
undefined
undefined
Я действительно не хочу использовать ГЛОБАЛЬНУЮ переменную, так что вы, ребята, можете придумать другой способ решения моей проблемы?
Спасибо! =]