JavaScript:可选回调?

时间:2012-08-30 07:14:45

标签: javascript

我编写了一个函数,它有3个参数,其中一个是回调函数。 如何在不使用回调参数的情况下编写另一个函数的情况下,如何使回调成为可选参数?

function myFunction(arg1, arg2, callback){
    // do something

    // callback() if it has been passed
}

2 个答案:

答案 0 :(得分:16)

确保回调是一个函数,然后调用它。

function myFunction(arg1, arg2, callback){
    // do something

    typeof callback == "function" && callback();
}

如果您想要更多地控制调用它,请使用call()apply()bind()(无论实现目标)。

答案 1 :(得分:3)

简单,只需在调用之前检查是否定义了回调。

function myFunction(arg1, arg2, callback){
    // do something

    if (callback) {
        callback();
    }
}