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
    }
});

person Riley Lark    schedule 17.02.2011    source источник


Ответы (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
    }
});
person Riley Lark    schedule 17.02.2011