но проблема в том, что formatAllRec будет выполняться до фактического завершения switchToPage
Это на самом деле не так. Они выполнены по порядку. Симптомы указывают на то, что switchToPage()
в свою очередь запускает асинхронный HTTP-запрос для выполнения некоторой работы и возвращается сразу после отправки запроса, а не ожидает его завершения.
В зависимости от того, как вы отправляете асинхронный запрос, в основном есть 2 способа его исправить:
- Сделать это не асинхронным. jQuery
$.ajax
и все его подфункции, такие как, например, $.post
, например, имеют опцию async: false
.
- Вызвать
formatAllRec()
как обратный вызов этого асинхронного запроса. Например, jQuery $.post
может принимать функцию обратного вызова в качестве аргумента второго / третьего метода.
Более подробный ответ с примерами кода не может быть дан, поскольку вы не опубликовали JS-код. Эта проблема, по крайней мере, не связана с Java / JSP / JSF / RichFaces, а только с простым JS.