当前位置: 首页 > 面试题库 >

Node.js:编写一个函数以将spawn stdout作为字符串返回

吴浩博
2023-03-14
问题内容

我试图以字符串形式返回此函数的输出,但它始终以未定义的形式返回。我要去哪里错了?

function run(cmd){
    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) {
            return result;
    });
}
console.log(run('ls'));

问题答案:

您的函数在command.on语句后立即返回。事件return回调中的语句将close返回无处。在return所属的事件的回调,而不是run()

console.log电话代替return result

一般来说,您应该编写如下内容:

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) {
        return callback(result);
    });
}

run("ls", function(result) { console.log(result) });


 类似资料:
  • 本文向大家介绍请编写一个C 函数,该函数将一个字符串逆序。相关面试题,主要包含被问及请编写一个C 函数,该函数将一个字符串逆序。时的应答技巧和注意事项,需要的朋友参考一下 【参考答案】 void AntitoneValue(cha r* father, char* child) { int i ; char source[100]; int j = 0; while(father[j]) //放入

  • 问题内容: 例如字符串“ abaccddccefe”中的“ ccddcc” 我想到了一个解决方案,但它的运行时间为O(n ^ 2) 算法1: 步骤:这是一种蛮力方法 对于i = 1到i小于array.length的2个for循环, 对于j = i + 1到j小于 array.length的-1 这样,您可以从数组中获取所有可能组合的子字符串 具有回文功能,可检查字符串是否为回文 因此,对于每个子字

  • 本文向大家介绍请编写一个C 函数,该函数将给定的一个字符串转换成整数。相关面试题,主要包含被问及请编写一个C 函数,该函数将给定的一个字符串转换成整数。时的应答技巧和注意事项,需要的朋友参考一下 【参考答案】

  • 本文向大家介绍请编写一个C 函数,该函数将给定的一个整数转换成字符串。相关面试题,主要包含被问及请编写一个C 函数,该函数将给定的一个整数转换成字符串。时的应答技巧和注意事项,需要的朋友参考一下 【参考答案】 void IntToCharChange(int num, char* pval) { char strval[100]; int i , j; int val0 = 0; int val1

  • 问题内容: 我有一个字符串: 我想要一个简单的方法将其转换为实际的。 我能从中挖掘出的所有其他问题都与将int字符串转换为数组有关。 我试着做 但是我明白了 手动清理边缘并去除斜线似乎是我做错了什么。 我很好奇是否有一种简单的方法可以将字符串数组作为字符串转换为字符串数组。 即转换为 解决方案 (感谢@Eric D) 问题答案: 将您的“字符串数组”编码为数据,然后将此数据作为JSON解码为Swi

  • 我试图将字符串参数传递给JavaScript函数。出于某种原因,它只能获取整数。我在这里只放了字符串的语法,因为我知道这是个问题,因为它与int一起工作。 发送函数内的代码: 最终,我希望用计数器的值调用HTML页面上的以下函数,如上图所示: 正如我提到的,当我发送int时,javascript文件会发出警报,但当我发送字符串时不会做出反应。