【发布时间】:2020-04-06 19:18:45
【问题描述】:
我的功能:
const { spawn } = require('child_process');
const prc = spawn("free", []);
function run(cmd, callback) {
var spawn = require('child_process').spawn;
var command = spawn(cmd)
var result = ''
command.stdout.on('data', function(data) {
result += data.toString()
});
command.on('close', function(code) {
callback(result)
});
command.on('error', function(err) { reject(err) })
}
var t;
run('ls', function (result) {
t=result;
console.log(t); // It works
});
console.log(t); //undefined
console.log(t) 它可以正常工作并打印。
而函数外的console.log(t)返回未定义。
但要解决问题, 我需要使用 Promise 还是等待/异步?
谢谢。
【问题讨论】:
-
您正试图在结果分配之前执行它(它正在异步运行)。
标签: node.js