Я бегу exec
, чтобы получить идентификатор от компьютерного оборудования. Я пытаюсь присвоить идентификатор переменной cpu_id, чтобы я мог использовать его позже в своем скрипте в параметре http-запроса. Когда консольный журнал, кажется, всегда выводит Promise { <pending> }
вместо захваченного идентификатора.
Я играл с wait и asyn c, но не мог заставить вещи работать так, как они должны. любая помощь или указатели будут с благодарностью.
function get_cpu_id() {
if (process.platform === "win32") {
return execShellCommand('wmic csproduct get UUID /format:list').then(function(std){
return std.replace(/\s/g, '').split("=")[1];
});
} else {
return execShellCommand('cat /proc/cpuinfo | grep Serial').then(function(std){
return std;
});
}
}
function execShellCommand(cmd) {
const exec = require('child_process').exec;
return new Promise((resolve, reject) => {
exec(cmd, (error, stdout, stderr) => {
if (error) {
console.warn(error);
}
resolve(stdout ? stdout : stderr);
});
});
}
let cpu_id = get_cpu_id();
console.log(cpu_id);