asíncrona no significa "múltiples hilos. Piense en muchos eventos de clic que se activan en una fila, antes de que se procese el primer controlador de clic. Solo se puede manejar una acción a la vez, y las otras esperarán para ejecutarse.
Los lenguajes controlados por eventos como Javascript funcionan sobre la base de una cola. Javascript en segundo plano tiene esencialmente una cola gigante a la que los eventos y las respuestas asincrónicas se insertan. Una vez que se completa un fragmento de procesamiento en particular, se trabaja en el siguiente elemento de la cola.
Estas colas a veces se conocen como 'Runloops'. Javascript girará en un bucle sin fin, recuperará un evento de la cola, lo procesará y regresará a la cola para otro trabajo.
El subprocesamiento múltiple se puede lograr en versiones (más nuevas) de Javascript usando Web Workers, pero estas son explícitamente habilitadas. Búscalos si estás interesado.
Para responder a su pregunta, simplemente adjunte una devolución de llamada a su solicitud asíncrona, y se completará el procesamiento, incluso si se devuelve otra respuesta a la mitad. La otra respuesta 'esperará' hasta que se maneje el evento actual.
Creo que todo el mundo está complicando demasiado la pregunta porque usaba la palabra 'hilos'. Creo que OP simplemente significa que necesita que cada devolución de llamada se complete por completo antes de que comience la próxima. Asumo que, debido a que jQuery está involucrado, esto se debe a que se está produciendo algún tipo de animación, que utilizará temporizadores y, por lo tanto, aparecerá con múltiples subprocesos (puede que dos devoluciones de llamada parezcan ejecutarse al mismo tiempo). – beeglebug
@beeglebug - No creo que tengas razón. El OP declara explícitamente "No importa en qué orden se produce el procesamiento". Es un concepto erróneo común que asíncrono significa multihilo, y creo que el OP tenía esta misma impresión. –
@Josh Smeaton - Posiblemente, pero podríamos con OP volver y arrojar algo de luz. Todo se reduce a si "procesamiento" significa crujido de números en bruto o algo más basado en la interfaz de usuario. Y con jQuery involucrado (y al echar un vistazo al historial de preguntas de OP) estoy pensando que es UI/animación. – beeglebug