Javascript 带回调的nodejs函数与不带回调的nodejs函数

Javascript 带回调的nodejs函数与不带回调的nodejs函数,javascript,node.js,Javascript,Node.js,我有以下功能文件: module.exports = { function1: functions(parm1, callback){ if (checkParm1) { //do something }else{ //do something else } callback(); } }; 在这个function1中,我想创建一个只包含一小段代码的函数。类似于js的简单函数: fu

我有以下功能文件:

module.exports = {
   function1: functions(parm1, callback){
       if (checkParm1) {
           //do something
       }else{
           //do something else
       }
       callback();
   }
};
在这个
function1
中,我想创建一个只包含一小段代码的函数。类似于js的简单函数:

function checkParm1(parm1){
    return ( parm1 === 'abc' );
}
虽然一旦我声明了
checkParm1
模块内的函数。exports我得到以下错误:

function checkParm1(parm1){
         ^^^^^^^

SyntaxError: Unexpected identifier

如何定义这样一个函数并跨多个函数使用它?

在外部定义它,由于函数的原因,您仍然可以访问它:

module.exports = {
   function1: functions(parm1, callback){
       if (checkParm1(parm1)) {
           //do something
       }else{
           //do something else
       }
       callback();
   }
};

function checkParm1(parm1){
    return ( parm1 === 'abc' );
}
由于
module.exports
设置为对象,因此不能将
checkParm1
放在该对象内部。相反,只需在导出对象后定义它,它将被提升,以便能够在
功能1


此外,函数不需要提升。您也可以在
模块上方使用函数表达式。exports

您不在
模块内部定义它。exports
您也在外部定义它,
函数
?我投了赞成票,但主要问题是OP试图在对象文本中声明函数,它不必在
模块之后。exports
可以在前面,因此关于提升的部分是非常不相关的。@Andrew Kim但是这样做checkParm1在函数1中是不可识别的。。如果checkParm1(parm1){^^^^^^^^^^^^^^^^^语法错误:您需要执行
if(checkParm1(parm1))
,则缺少括号