Espere sincrónicamente un mensaje en Web-Worker

¿Hay alguna manera de esperar o buscar sincrónicamente un mensaje nuevo en un trabajador web?

Tengo un gran cuerpo de código complicado (compilado LLVM de emscripten) que no puedo refactorizar en torno a las devoluciones de llamada.

Necesito asegurarme de que el código después de cierta línea no se ejecute hasta que reciba y maneje un mensaje desde el subproceso de la interfaz de usuario. Si bloqueo con un bucle while, el bucle de eventos nunca se ejecuta, por lo que no puedo recibir mensajes.

Respuestas a la pregunta(3)

Su respuesta a la pregunta