Это моя ситуация в псевдокоде:
function onRequest() {
receiveConnectionRequest();
response = function onConnect() {
playersConnected++;
if (playersConnected == 4) {
sendAllPlayersTheirCards()
}
return OK;
}();
sendResponse(response);
}
Когда игроки 1-3 подключаются, они добавляются в список игроков, и им возвращается OK, после чего они настраивают материал наих сторона.Однако, когда игрок 4 подключается, прежде чем ответ на его запрос будет отправлен, всем игрокам отправляются их карты.Поскольку игрок 4 еще не получил ответ на свой запрос, он еще не правильно инициализировался и выдает ошибки при получении своих карт.
Я хотел бы получить следующее:
function onRequest() {
receiveConnectionRequest();
response = function onConnect() {
playersConnected++;
if (playersConnected == 4) {
plan(sendAllPlayersTheirCards())
}
return OK;
}();
sendResponse(response);
executePlanned() // now cards are sent
}
Есть ли общий шаблон для этого?Функция onConnect находится в другом классе и не должна знать о деталях реализации onRequest.
Я специально пытаюсь реализовать это в Java, но приветствуются общие решения.