Gwt RequestFactory: редактирование прокси сразу после его получения
Я хочу немедленно запросить RequestContext.edit(anObject) после того, как я получу его в Receiver.onSuccess, чтобы я мог поместить его в свою базу данных на стороне клиента как уже редактируемую. К сожалению, когда я это делаю, RequestFactory жалуется, что запрос уже выполняется. Как мне этого добиться?
requestContext.findOrganization(id).fire(new Receiver<OrganizationProxy>()
{
public void onSuccess(OrganizationProxy response)
{
database.put(requestContext.edit(response)); //fails because a request is already in progress
}
});
1 ответ
Решение
Я решил эту проблему, используя одноразовый контекст запроса для создания запроса, а затем с помощью моего более постоянного контекста запроса изменил объект:
temporaryRequestContext.findOrganization(id).fire(new Receiver<OrganizationProxy>()
{
public void onSuccess(OrganizationProxy response)
{
database.put(permanentRequestContext.edit(response)); //succeeds because it has not been fired, even though edit() has been called many times
}
});