@MarEeeeee

Как получить данные из функции?

У меня есть следующая функция, треубется получить из нее поле data. Но она почему-то не возвращает значения с помощью return. Как можно решить эту проблему?

function get_win_drives(success_cb,error_cb){
    var stdout = '';
    var spawn = require('child_process').spawn,
            list  = spawn('cmd');

    list.stdout.on('data', function (data) {
        stdout += data;
    });

    list.stderr.on('data', function (data) {
        console.log('stderr: ' + data);
    });

    list.on('exit', function (code) {
        if (code == 0) {
            // console.log(stdout);
            var data = stdout.split('\r\n');
            data = data.splice(4,data.length - 7);
            data = data.map(Function.prototype.call, String.prototype.trim);
            console.log(data);
            // success_cb(data);
        } else {
            console.log('child process exited with code ' + code);
            error_cb();
        }
    });
    list.stdin.write('wmic logicaldisk get caption\n');
    list.stdin.end();
}
  • Вопрос задан
  • 294 просмотра
Пригласить эксперта
Ответы на вопрос 1
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
Раскомментировать строку // success_cb(data); и внутри функции success_cb работать с data.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы