首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT RequestFactory和多个请求

GWT RequestFactory和多个请求
EN

Stack Overflow用户
提问于 2011-02-11 02:27:35
回答 1查看 3.9K关注 0票数 6

有没有办法使用RequestFactory在单个请求中创建两个实体?我试过了:

代码语言:javascript
复制
    EmployeeRequest request = requestFactory.employeeRequest();
    EmployeeProxy newEmployee = request.create(EmployeeProxy.class);
    newEmployee.setName("Joe!");

    Request<Void> createReq = request.persist().using(newEmployee);
    createReq.fire();

    EmployeeProxy newEmployee2 = request.create(EmployeeProxy.class);
    newEmployee2.setName("Sam!");

    Request<Void> createReq2 = request.persist().using(newEmployee2);
    createReq2.fire();

但是我得到一个错误,一个请求已经在进行中。当我创建两个独立的EmployeeRequests时:

代码语言:javascript
复制
    EmployeeRequest request = requestFactory.employeeRequest();
    EmployeeProxy newEmployee = request.create(EmployeeProxy.class);
    newEmployee.setName("Joe!");

    Request<Void> createReq = request.persist().using(newEmployee);
    createReq.fire();

    EmployeeRequest request2 = requestFactory.employeeRequest();
    EmployeeProxy newEmployee2 = request2.create(EmployeeProxy.class);
    newEmployee2.setName("Sam!");

    Request<Void> createReq2 = request2.persist().using(newEmployee2);
    createReq2.fire();

然后从浏览器发出两个单独的请求。我希望RequestFactory中的某些东西可以合并多个请求--我必须一次创建数百个实体,而我不想发出数百个请求!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-11 03:09:10

是的,这是可能的。在第一个示例中,只需删除行

代码语言:javascript
复制
createReq.fire();

当您在最后调用createReq2.fire()时,GWT在一个请求中同时发送newEmployee和newEmployee2 (因为它们都被持久化在EmployeeRequest“request”的上下文中)。我个人觉得语义有点奇怪,但这只是我的观点。

Riley提供的附录:下面的语法是等价的,而且更直观:

代码语言:javascript
复制
    EmployeeRequest request = requestFactory.employeeRequest();
    EmployeeProxy newEmployee = request.create(EmployeeProxy.class);
    newEmployee.setName("Joe!");

    request.persist().using(newEmployee);

    EmployeeProxy newEmployee2 = request.create(EmployeeProxy.class);
    newEmployee2.setName("Sam!");

    request.persist().using(newEmployee2);
    request.fire();
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4961102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档