Играть: Как сделать до и после работы - PullRequest
1 голос
/ 20 декабря 2011

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

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

спасибо!

Ответы [ 2 ]

3 голосов
/ 20 декабря 2011

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

Итак, вы бы сделали следующее

  1. отобразите страницу ожидания, пожалуйста
  2. совершите вызов ajax, который выполняет задание и ожидает завершения задания
  3. когда ваш ajax возвращает, вы просто обновляете страницу, будь то обновление javascript для div или перенаправление на новую страницу.
1 голос
/ 20 декабря 2011

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

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

...