JavaScript:可选回调

JavaScript: Optional callback?

本文关键字:回调 JavaScript      更新时间:2023-09-26

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

function myFunction(arg1, arg2, callback){
    // do something
    // callback() if it has been passed
}

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

function myFunction(arg1, arg2, callback){
    // do something
    typeof callback == "function" && callback();
}

如果您想对调用它有更多的控制权,请使用call()apply()bind()(无论实现什么目标)。

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

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