Существует предложение ES7 для RegExp.escape в https://github.com/benjamingr/RexExp.escape/ , с полиполем, доступным в https://github.com /ljharb/regexp.escape.
Вы можете добавить аргументы к функциям, которые вы можете использовать в качестве обратных вызовов. Затем вы можете вызвать их, когда запрос AJAX завершится, примерно так:
getInstructionType(applicationNumber, function(result) {
getInstructionValidationResult(applicationNumber, function(type) {
setValidationRowColor(result);
});
});
function getInstructionValidationResult(applicationNumber, callback) {
$.get(/*-snip-*/, function(data) {
// some custom logic to work with the response here...
callback && callback(data);
});
}
function getInstructionType(applicationNumber, callback) {
$.get(/*-snip-*/, function(data) {
// some custom logic to work with the response here...
callback && callback(data);
});
}
Альтернативой обратным вызовам (которые полностью действительны) являются обещания, которые на самом деле являются просто другой формой или обратными вызовами. Предполагая, что вы используете $ .get jQuery, вы уже используете Promises:
getInstructionType(applicationNumber, function(result) {
return getInstructionValidationResult(applicationNumber)
.then(function() {
setValidationRowColor(result)
})
});
function getInstructionValidationResult(applicationNumber) {
var url = //-snip-;
return $.get(url)
}
function getInstructionType(applicationNumber) {
var url = //-snip-;
return $.get(url)
}
Обратите внимание, что все, что я сделал, это return
$.get
и добавил .then
, который принимает ваш обратный вызов getInstructionType