在JavaScript中返回cb()`有缺点吗?

时间:2016-05-14 17:18:57

标签: javascript asynchronous

我经常看到(有时会写)代码如下:

 var foo = function(someOption, cb){
    // handle some edge case where we don't need to do anything
    if ( someOption === 'whatever' ) {
        return cb(null)
    }
    ...do things...
    cb(result)
}

而不是:

var foo = function(someOption, cb){
    // handle some edge case where we don't need to do anything
    if ( someOption === 'whatever' ) {
        cb(null)
        return; 
    }
    ...do things...
    cb(result)
}

函数的返回值未被使用,return只是提前结束函数。

这两种方法都有任何缺点或优点吗?

1 个答案:

答案 0 :(得分:0)

对我来说,它并不完全相同,因为 在第一种情况下,如果cb是函数foo,则返回函数cb的结果。

而在第二种情况下 函数foo调用函数cb但不返回return