我如何获得函数外部的变量值

时间:2019-06-26 16:34:49

标签: javascript node.js

我正在尝试获取函数外部的变量的值,但是它总是返回未定义的

我尝试使用回调,但是当我运行脚本时,返回回调不是函数

const params = new URLSearchParams(location.search);
params.set('test', 123);
window.history.replaceState({}, '', `${location.pathname}?${params}`);

我希望文件系统的价值大于80%

1 个答案:

答案 0 :(得分:0)

只要您没有分配数据变量的值,默认情况下它就为“未定义”。

  1. 您不能这样,因为javascript是面向事件循环/回调的。您不知道exec函数何时完成并且将触发回调以填充data变量。稍后,您将尝试使其在下面的行中。此外,您的数据实际上是“参数”。

  2. 为什么需要在回调之外访问此变量?如果您需要在功能的“其他部分”中使用此变量,可以这样做

    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);
    });