Javascript - 在调用回调时终止函数执行的样式

时间:2013-06-27 06:58:19

标签: javascript node.js

我们经常需要确保在回调完成后执行不会返回到函数。 我的问题是,这两种风格之间是否存在微妙的差异,或者它们是否完全相同? :

function myFunction(foo, callback) {
    if(foo) {
      callback(err, true); //Here
      return;              //Here
    }
    bar();
}

function myFunction(foo, callback) {
    if(foo) {
      return callback(err, true); //Here
    }
    bar();
}
编辑:对不起,我意识到我的问题不是很清楚。我说的是我不关心返回什么的情况(因为它不会被同步消耗),但返回只是为了确保在回调函数完成后函数中没有继续执行

2 个答案:

答案 0 :(得分:1)

这完全取决于你想要归来的东西。

如果要返回回调返回的值,请先使用第二种方法

答案 1 :(得分:1)

作为编码风格的问题,如果一个人想要避免某个人认为是一件坏事的return,那么

function myFunction(foo, callback) {
    if(foo) {
        callback(err, true);
    } else {
        bar();
    }
}