Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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 Node.JS函数返回与调用该函数_Javascript_Node.js - Fatal编程技术网

Javascript Node.JS函数返回与调用该函数

Javascript Node.JS函数返回与调用该函数,javascript,node.js,Javascript,Node.js,所以我开始在node school学习函数回调/模块,我有点困惑 这是我的密码: 所以我的问题是,我应该返回回调函数还是直接调用它。它似乎给了我同样的结果 如 返回函数_回调(err,finalList) 或 调用函数\u回调(err,finalList) 这主要是编码风格的不同。执行早期显式返回可以保存缩进级别: function callFoo(cb) { foo(function(err) { if (err) return cb(err); // do s

所以我开始在node school学习函数回调/模块,我有点困惑

这是我的密码: 所以我的问题是,我应该返回回调函数还是直接调用它。它似乎给了我同样的结果 如 返回函数_回调(err,finalList)

调用函数\u回调(err,finalList)


这主要是编码风格的不同。执行早期显式返回可以保存缩进级别:

function callFoo(cb) {
  foo(function(err) {
    if (err)
      return cb(err);
    // do something else
  });
}
与:

function callFoo(cb) {
  foo(function(err) {
    if (err)
      cb(err);
    else {
      // do something else
    }
  });
}

它还可以帮助确保您不会意外地执行随后出现的某些代码。

正如@mscdex所指出的,如果您的条件得到满足,则返回函数只会保存一些代码

if(true) return callback(); // won't go any further if the condition is met

// do something else

if(true) {
    callback(); 
} else {
    // do something else
}
但是,在其他情况下返回函数也有好处,例如让外部函数返回内部函数返回的值。。。这听起来令人困惑,所以这里有一个人为的例子:

function sayHi() {
    return 'Hi';
}

function foo() {
    sayHi();
}

foo(); // returns undefined

// Now, let's have foo() return sayHi()

function foo() {
    return sayHi(); //
}

foo(); // now returns 'Hi'

谢谢这让我很困惑,因为这是我第一次遇到回调
if(true) {
    callback(); 
} else {
    // do something else
}
function sayHi() {
    return 'Hi';
}

function foo() {
    sayHi();
}

foo(); // returns undefined

// Now, let's have foo() return sayHi()

function foo() {
    return sayHi(); //
}

foo(); // now returns 'Hi'