подождите, пока значения не появятся в scala базы данных

#scala #akka #actor

#scala #акка #актер

Вопрос:

Я написал веб-приложение с использованием scala/sbt и reactjs. Я использую в нем актеров акка. Вот такой случай: я написал актерский сервисактор

 case m: HandleUserCreateOrUpdate =gt; {  requestType match {  case CREATE: lt;UserDAO.create()gt;  case UPDATE: lt;UserDAO.getUser() { then UserDAO.update}gt;  }  }  

Интерфейс нажимает создать и обновить запрос с помощью одной кнопки. Создайте запрос создайте пользователя и обновите запрос просто обновите список пользователей

Поэтому здесь, когда этот запрос поступает на серверную часть, он создает пользователя, но требует некоторого времени для создания в базе данных. Из-за этого, как только приходит запрос на обновление UserDAO.getUser() , он сообщает, что пользователь недоступен. Поскольку создание пользователя требует времени для сохранения записей пользователей в базе данных

Итак, как создать ожидание, UserDAO.getUser() пока пользователь не будет создан в базе данных.

Комментарии:

1. Почему бы не запланировать это сообщение на более поздний срок (использовать соответствующий тайм-аут) как другой тип, чтобы оно не превратилось в бесконечный цикл, если пользователь на самом деле отсутствует? Если у вас есть доступ на стороне клиента, вы можете отключить кнопку отправки до получения подтверждения после одного сообщения и, возможно, даже использовать случайный UUID для дополнительной уверенности..