调用函数后的JavaScript回调

Con*_*mbe 7 javascript callback

好吧,让我说我有这个功能:

function a(message) {
alert(message);
}
Run Code Online (Sandbox Code Playgroud)

我希望在显示警报窗口后进行回调.像这样的东西:

a("Hi.", function() {});
Run Code Online (Sandbox Code Playgroud)

我不确定如何在我调用的函数内部进行回调.

(我只是以警报窗口为例)

谢谢!

Ivo*_*zel 24

回调没有特殊的语法,只需传递回调函数并在函数内调用它.

function a(message, cb) {
    console.log(message); // log to the console of recent Browsers
    cb();
}

a("Hi.", function() {
    console.log("After hi...");
});
Run Code Online (Sandbox Code Playgroud)

输出:

Hi.
After hi...
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以添加if语句来检查是否添加了回调函数.因此,您也可以在没有回调的情况下使用该功能.

function a(message, cb) {
    alert(message);
    if (typeof cb === "function") {
        cb();
    }
}
Run Code Online (Sandbox Code Playgroud)