简体   繁体   English

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

[英]JavaScript - returning value from anonymous function parameter

I am using npm 'powershell' package for executing PowerShell commands and reading related output. 我正在使用npm'powershell'软件包执行PowerShell命令并读取相关输出。 I want to write a function that would return standard command output (so that I could call the the function and use its return value in assertions etc.). 我想编写一个将返回标准命令输出的函数(以便我可以调用该函数并在断言中使用其返回值等)。

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

I want myFunction to return data value (from standard output). 我希望myFunction返回数据值(从标准输出)。 However, I don't know how to do it properly. 但是,我不知道该怎么做。 Could you please advise? 您能否提一些建议?

Look into how callbacks work. 研究回调如何工作。 An example for your function would be 您的功能的一个例子是

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM