EG
Size: a a a
EG
EG
SD
EG
EG
SD
SD
EG
EG
SD
resultService.register(requestId). Сервис вам возвращает deferredResult, вы возвращаете его клиенту :
return deferredResult;. Для БП делаете делегат, который будет вызываться на последнем шаге. Делегат будет делать что-то типа такого:
resultService.setResult(requestId, result);Внутри сервиса будет вы из мапы (только не просто хэш мэп, будут проблемы) по requestId находите ранее созданный deferredResult, сетапите в него результат и удаляете из мапы. Несмотря на то, что ранее вы сделали
return deferredResultклиент получит ответ только после этого.
EG
resultService.register(requestId). Сервис вам возвращает deferredResult, вы возвращаете его клиенту :
return deferredResult;. Для БП делаете делегат, который будет вызываться на последнем шаге. Делегат будет делать что-то типа такого:
resultService.setResult(requestId, result);Внутри сервиса будет вы из мапы (только не просто хэш мэп, будут проблемы) по requestId находите ранее созданный deferredResult, сетапите в него результат и удаляете из мапы. Несмотря на то, что ранее вы сделали
return deferredResultклиент получит ответ только после этого.
EG
resultService.register(requestId). Сервис вам возвращает deferredResult, вы возвращаете его клиенту :
return deferredResult;. Для БП делаете делегат, который будет вызываться на последнем шаге. Делегат будет делать что-то типа такого:
resultService.setResult(requestId, result);Внутри сервиса будет вы из мапы (только не просто хэш мэп, будут проблемы) по requestId находите ранее созданный deferredResult, сетапите в него результат и удаляете из мапы. Несмотря на то, что ранее вы сделали
return deferredResultклиент получит ответ только после этого.
SD
EG
SD
MK
AY
DK
DK