// bind, call, apply в чём разница? https://ru.stackoverflow.com/questions/426699/bind-call-apply-%D0%B2-%D1%87%D1%91%D0%BC-%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0
// Передать аргументы в callback https://stackoverflow.com/questions/17711211/bind-variables-to-callback-function
// Объяснение callback https://alexdev.ru/869
checkLimits: function (serviceId, callbackSuccess) {
debugger;
$.loader(_('Получение разрешения на выписку'));
$.get('/module/backoffice/SLBackoffice/checkLimits', {type: 'trains', service_id: serviceId}, function (data) {
$.prompt.close();
debugger;
bindingsUtil.updateAjaxResponse(data);
if (data.response.result.error === true) {
$.showerror(data.response.result.descr);
} else {
if (data.response.result.allow === true) {
callbackSuccess.apply(this); // <----------------------------------------------------------------
} else {
var buttons = {};
buttons[_('ОК')] = true;
$.slPrompt(data.view, {
close: true,
title: _('Выписка приостановлена'),
prefix: 'block_',
buttons: buttons,
width: 800,
});
}
}
}, 'json');
},
func1: function(f, service_id) {
alert('savePolicyViolationReason');
alert(f);
alert(service_id);
}
// ex 1
ufs.checkLimits(data.service_id, function() {
debugger;
ufs.func1(f, data.service_id);
});
// ex 2
ufs.checkLimits(data.service_id, ufs.func1.bind(this, f, data.service_id));