2011-12-19 2 views
1

У меня есть приложение для воспроизведения, которое компилирует какой-то код за кулисами, и мне было интересно, какая лучшая стратегия должна была сначала визуализировать сообщение «please wait ...» до начала работы а затем сообщение «завершение работы» после его завершения.Play: Как визуализировать до и после работы

Это не что-то, что можно порезать, это либо сделано, либо нет, поэтому я предполагаю, что без использования веб-карт единственным способом является опрос с помощью ajax?

спасибо!

+1

Существует [модуль Pusher Play Framework] (http://www.playframework.org/modules/pusher), который вы можете использовать, чтобы выталкивать обновления о работе долго работающего задания через соединение WebSocket с вашим клиентом , – leggetter

ответ

3

При выполнении задания (с использованием .now()) он возвращает объект Promise. Используя это, вы можете использовать функцию воспроизведения await и ajax (длинный опрос) или веб-сокеты.

Таким образом, вы могли бы сделать следующий

  1. Выводит пожалуйста, подождите странице
  2. сделать свой АЯКС вызов, который выполняет работу, и ждет на работу, чтобы завершить
  3. когда ваш Аякс возвращает вас просто обновить страницу, будь то обновление javascript для div или перенаправление на новую страницу.
1

Похоже, что Ajax - хорошая техника для этого, но вам не нужно опроса.

Отправьте запрос Ajax и одновременно отобразите «пожалуйста, подождите ...», а затем, когда появится ответ, отобразите «job complete». И да, вы должны выполнять длительные задачи в «игровом задании», поэтому вы не слишком долго блокируете поток.