JavaScript - 从匿名函数参数返回值

时间:2017-03-16 13:02:55

标签: javascript node.js powershell

我正在使用npm' powershell'用于执行PowerShell命令和读取相关输出的包。我想编写一个返回标准命令输出的函数(这样我就可以调用函数并在断言中使用它的返回值等。)。

const PowerShell = require("powershell");

var myFunction = function (command) {
    let ps = new PowerShell(command);

    ps.on("error", err => {
        console.error(err);
    });

    ps.on("output", data => {
        console.log(data);
        //return data; <-- this does not work
    });

    ps.on("error-output", data => {
        console.error(data);
    });

    ps.on("end", code => {
        console.log("The end");
    });
};

我希望myFunction返回数据值(来自标准输出)。但是,我不知道如何正确地做到这一点。你能告诉我吗?

1 个答案:

答案 0 :(得分:0)

了解回调的工作原理。你的功能的一个例子是

var myFunction = function (command, callback) {
    // code
    ps.on("output", data => {
        callback(data)
    });
    // code
};

myFunction('ls', function (data) {
    console.log('The callback data:', data);
});