Necesito ayuda para encontrar una alternativa a jQuery ajax síncrono

Tengo una forma muy compleja que contiene múltiples pestañas. Cada pestaña contiene un únicoPlupload instancia (para subir varias imágenes). El formulario le permite a un usuario cargar un 'caso' de imagen médica donde cada caso se compone de múltiples "estudios" de imágenes (por ejemplo, tomografías computarizadas) y cada estudio contiene varias imágenes.

Cuando el usuario hace clic en el botón "enviar", intercepto el clic con jQuery porque necesito hacer lo siguiente:

Compruebe que los campos requeridos son ingresados[fácil]Obtener un número de identificación único de mi servidor. Este número de identificación es requerido por cada instancia de Plupload para saber en qué directorio cargar.

En mi función llamada al envío del formulario, tengo el siguiente fragmento de código:

var case_id;

// Code to check the required fields are entered
....

// Get the case id number from the server
$.get('ajax/unique-case-id').done(function(data){
    case_id = data;
});

// do something with case_id and other things. MUST happen after the ajax call
....

// if there was a problem uploading the images, stop the form from submitting
if (problem_occured) {
    return false;
}

Con mi lógica actual, necesito la secuencia de comandos para pausar hasta que obtenga case_id. Esto era posible antes de jQuery 1.8, pero la propiedad $ .ajax () async: false ha quedado en desuso.

Mi pregunta es doble:

¿Hay alguna forma de retener el script hasta que obtenga el case_id requerido?Si no, ¿alguna idea de cómo podría cambiar mi lógica para solucionar esto?

Quizás se pregunte por qué case_id es tan importante. Las instancias de plupload realizan su carga antes de que se envíe el formulario y necesitan un directorio para cargar. Quiero que las imágenes que se están cargando vayan a una carpeta en mi servidor llamada case_id. Esto permitirá que el script PHP en el servidor resuelva qué hacer con ellos una vez que obtenga el resto de los datos de POSTed del formulario.

Respuestas a la pregunta(1)

Su respuesta a la pregunta