Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的回调被作为字符串发送?_Javascript_Node.js - Fatal编程技术网

Javascript 为什么我的回调被作为字符串发送?

Javascript 为什么我的回调被作为字符串发送?,javascript,node.js,Javascript,Node.js,我向一个javascript函数发送了一个回调,出于某种原因,它将它作为字符串接收。如果有必要的话,我正在使用node.js execProg('runCheck','data=data1', function (error, stdout, stderr){ console.log("isWorking"); }); execProg = function (args,callback){ var cmdString = 'php -f '+path

我向一个javascript函数发送了一个回调,出于某种原因,它将它作为字符串接收。如果有必要的话,我正在使用node.js

execProg('runCheck','data=data1',
    function (error, stdout, stderr){
        console.log("isWorking");
    });

execProg = function (args,callback){ 
    var cmdString = 'php -f '+pathprefix+'processing.php '+args;
    console.log(typeof callback);
    exec(cmdString, callback);
};
当我这样做时,它就起作用了:

execProg = function (args,callback){ 
    var cmdString = 'php -f '+pathprefix+'processing.php '+args;
    console.log(typeof callback);
    exec(cmdString, function(error, stdout, stderr){console.log("isWorking1"});
};
但是,当使用通过函数
execProg
参数发送的回调时,它认为它是一个
字符串
,如
console.log(回调类型)所示


我已经做过无数次了,但这次我使用的是node.js,而且我可能遗漏了一些我没有注意到的东西,但是除了这些可能性之外,我似乎想不出任何可能性。

您尝试将两个参数“runCheck”和“data=data1”作为一个args参数发送。将它们连接成一个

execProg('runCheck data=data1',
    function (error, stdout, stderr){
        console.log("isWorking");
});