Как ждать, пока GWT RPC завершится? - PullRequest
3 голосов
/ 08 сентября 2010

Я использую GWT, и я делаю RPC-вызовы, чтобы получить некоторые данные из базы данных.Я использую эти данные для рисования диаграмм с помощью Google Charts API.Проблема в том, что вызов GWT RPC является асинхронным, и моя диаграмма всегда использует данные из последнего вызова, а не из текущего (я заполняю массив int в функции onSuccess)).Как мне подождать некоторое время, чтобы убедиться, что RPC завершает и записывает мой массив, а затем рисует мою диаграмму, поскольку функции Thread.sleep () нет?

Ответы [ 3 ]

6 голосов
/ 08 сентября 2010

Вы должны нарисовать диаграмму в onSuccess().Почему не ты?

1 голос
/ 10 сентября 2010

Другой способ - использовать шину событий и пользовательское событие для рисования диаграмм на основе полученных данных. Когда вызов rpc возвращается с успехом, вы создаете это событие и запускаете его. Соответствующий контроллер должен подписаться на событие и составить график после его получения. См. this о том, как это реализовать.

0 голосов
/ 05 января 2011
...