JavaScript Callback после вызова функции - PullRequest
7 голосов
/ 15 января 2011

Хорошо, допустим, у меня есть эта функция:

function a(message) {
alert(message);
}

И я хочу получить обратный звонок после того, как появится окно предупреждения. Примерно так:

a("Hi.", function() {});

Я не уверен, как сделать обратный вызов внутри функции, которую я вызываю таким образом.

(я просто использую окно предупреждения в качестве примера)

Спасибо!

Ответы [ 3 ]

24 голосов
/ 15 января 2011

Специального синтаксиса для обратных вызовов нет, просто передайте функцию обратного вызова и вызовите ее внутри своей функции.

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

a("Hi.", function() {
    console.log("After hi...");
});

Вывод:

Hi.
After hi...
5 голосов
/ 15 января 2011

Вы можете добавить оператор if, чтобы проверить, добавляете ли вы функцию обратного вызова или нет. Таким образом, вы можете использовать функцию также без обратного вызова.

function a(message, cb) {
    alert(message);
    if (typeof cb === "function") {
        cb();
    }
}
1 голос
/ 19 марта 2014

Вот код, который предупредит сначала, а потом второй. Я надеюсь, что это то, что вы спросили.

function  basic(callback) {
    alert("first...");
    var a = "second...";
    callback(a);
} 

basic(function (abc) {
   alert(abc);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...