Javascript-在调用回调时终止函数执行的风格



我们经常需要确保回调后执行不会返回到函数我的问题是,这两种风格在效果上有什么细微的区别吗,还是完全相同?:

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();
}

编辑:对不起,我意识到我的问题不是很清楚。我说的是这样的情况:我不在乎返回什么(因为它不会被同步消耗),但返回只是为了确保回调函数完成后,函数中不会继续执行。

这完全取决于您想要返回的内容。

如果您想返回回调返回的值,请使用第二种方法else-first

就编码风格而言,如果想避免函数中的return,有些人认为这是一件坏事,那么

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

最新更新