Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.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
node.js如何处理跳过的可选参数_Node.js_Optional Parameters_Optional Arguments - Fatal编程技术网

node.js如何处理跳过的可选参数

node.js如何处理跳过的可选参数,node.js,optional-parameters,optional-arguments,Node.js,Optional Parameters,Optional Arguments,如果跳过node.js中的可选参数会发生什么。 我有以下代码: //server.mjs 从“child_进程”导入{exec}; var myCommand=“ver”; 函数执行(命令、回调){ //child_process.exec(命令[,选项][,回调]) exec(命令,函数(错误,stdout,stderr){callback(stdout);}); }; 函数myCallback(文本){ console.log(文本); console.log('done!'); } 执行(

如果跳过node.js中的可选参数会发生什么。 我有以下代码:

//server.mjs
从“child_进程”导入{exec};
var myCommand=“ver”;
函数执行(命令、回调){
//child_process.exec(命令[,选项][,回调])
exec(命令,函数(错误,stdout,stderr){callback(stdout);});
};
函数myCallback(文本){
console.log(文本);
console.log('done!');
}
执行(myCommand、myCallback);
console.log('Start!');
现在我知道exec有一个强制参数(command)和两个可选参数(options和callback)。 在我的示例中,我只向exec函数提供了“command”和“callback”,但没有提供“options”。 node.js如何知道我的第二个参数实际上是回调函数而不是options对象

编辑:如前所述,只是exec函数检查以下各项:

函数normalizeeexecargs(命令、选项、回调){
如果(选项类型===‘函数’){
回调=选项;
选项=未定义;
}
//制作一个浅拷贝,这样我们就不会破坏用户的选项对象。
选项={…选项};
options.shell=typeof options.shell=='string'?options.shell:true;
返回{
文件:命令,
选项:选项,
回调:回调
};
}

它实际上只是检查它是否是一个函数:。嗯。。。我想这正是我想知道的。有时候就这么简单。非常感谢。