我正在尝试获取函数外部的变量的值,但是它总是返回未定义的
我尝试使用回调,但是当我运行脚本时,返回回调不是函数
const params = new URLSearchParams(location.search);
params.set('test', 123);
window.history.replaceState({}, '', `${location.pathname}?${params}`);
我希望文件系统的价值大于80%
答案 0 :(得分:0)
只要您没有分配数据变量的值,默认情况下它就为“未定义”。
您不能这样,因为javascript是面向事件循环/回调的。您不知道exec函数何时完成并且将触发回调以填充data变量。稍后,您将尝试使其在下面的行中。此外,您的数据实际上是“参数”。
为什么需要在回调之外访问此变量?如果您需要在功能的“其他部分”中使用此变量,可以这样做
const exec = require('child_process').exec;
function someOtherFunction(data) {
console.log(data)
}
let data;
const command = "df -g | awk '$4+0 >= 80 { print $4, $7 }' | sort -n";
let exe = exec("ssh user@sistemName " + command, function (error, data, stderr ) {
someOtherFunction(data);
});