@starkos

Получить значение из callback — функции JS?

Стал разбираться с callback-функциями js, но с пониманием пока что не очень. Пожалуйста, подскажите советом на примере такой реализации:
имеется кусок кода:

// функция удаления чего-либо
var deleteAction = function (item) {
            ...
            // диалоговое окно с двумя кнопками
            $(document).сonfirm({
                message: 'Удалить?',
                callbackY: function () {
                   // действия при нажатий кнопки - да
                    return true;
                },
                callbackN: function () {
                   // действия при нажатий кнопки - нет
                    return false;
                }
            });
            ...
};


так вот, из calbackY или calbackN должны возвратиться в функцию deleteAction или true или false и в зависимости от того что вернулось, функция deleteAction уже выполнит действие.

как вернуть значения из callbackY или callbackN для функции deleteAction ?
  • Вопрос задан
  • 840 просмотров
Пригласить эксперта
Ответы на вопрос 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Вот где jQuery и коллбеки вообще не нужны:
var conf = window.confirm('Удалить?');
console.log(conf); // true, если ок. false, если отмена

if (conf) {
    // удаляем
} else {
    // не удаляем
}

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

function myDeleteFunction () {
    // тут удаляем
}

function myCancelFunction () {
    // тут отмена
}

$(document).сonfirm({
    message: 'Удалить?',
    callbackY: myDeleteFunction,
    callbackN: myCancelFunction
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы