Как мне вложить эти асинхронные вызовы?

Существует предложение ES7 для RegExp.escape в https://github.com/benjamingr/RexExp.escape/ , с полиполем, доступным в https://github.com /ljharb/regexp.escape.

0
задан Rory McCrossan 18 January 2019 в 11:43
поделиться

2 ответа

Вы можете добавить аргументы к функциям, которые вы можете использовать в качестве обратных вызовов. Затем вы можете вызвать их, когда запрос 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);
  });
}
0
ответ дан Rory McCrossan 18 January 2019 в 11:43
поделиться

Альтернативой обратным вызовам (которые полностью действительны) являются обещания, которые на самом деле являются просто другой формой или обратными вызовами. Предполагая, что вы используете $ .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

0
ответ дан Adam 18 January 2019 в 11:43
поделиться
Другие вопросы по тегам:

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