Продолжить выполнение только после завершения .each ()

Я ищу способ вызова функции только после.each() заканчивает свое исполнение. В приведенном ниже примере, как убедиться, чтоpostPreparation() работаетнезамедлительно после $('.element').each() завершается?

$('.element').each(function() {
  /** 
   * 'prepareLayer()' is a complex function that takes a while to complete and,
   *  as in this construct, needs to be invoked for each matched element. Basically,
   * 'prepareLayer()' adds a lot of new HTML elements to the page.
   */   
  prepareLayer();
});

/**
 * Ideally, this should immediately run _after_ the above function completes
 * i.e. after each '.element' finishes running prepareLayer().
 *
 * 'postPreparation()' needs to attach some event handlers for the new HTML elements
 * created in 'prepareLayer()'.
 */
postPreparation();

Технически, я ищу способ вызвать функцию обратного вызова для.each().

НОТАЯ только что подтвердил, в приведенном выше примере, чтоpostPreparation() будет выполняться только после.each() завершается. Проблема была мояprepareLayer() создает новые элементы HTML с использованием AJAX, поэтомуeach() возвращается преждевременно. Как предлагает @Alnitak, асинхронный AJAX-запрос не остановится.each() от преждевременного возвращения.

Ответы на вопрос(3)

Ваш ответ на вопрос