Gwt 如何正确添加请求上下文
我想做的是收集几个请求,然后一次性将它们解雇 我的代码:Gwt 如何正确添加请求上下文,gwt,request,Gwt,Request,我想做的是收集几个请求,然后一次性将它们解雇 我的代码: RequestContext contextA =requestFactory .dataRequest().save(...).to(...); RequestContext contextB =requestFactory .itemRequest().save(...).to(...); requestA.append(requestB); requestA.fire(); dataRequest和
RequestContext contextA =requestFactory
.dataRequest().save(...).to(...);
RequestContext contextB =requestFactory
.itemRequest().save(...).to(...);
requestA.append(requestB);
requestA.fire();
dataRequest和item request都扩展了RequestContext
当我尝试这样做时,我得到:
原因:java.lang.IllegalStateException:
提供的RequestContext已在com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext.append(AbstractRequestContext.java:484)上更改
那么我做错了什么?附加()的参数必须是干净的
RequestContext
您可以将代码更改为:
ItemRequest contextB = requestFactory.itemRequest();
contextA.append(contextB);
contextB.save(...).to(...);
或者更简单地说:
requestA.append(requestFactory.itemRequest()).save(...).to(...);
基本原理:在内部,附加的RequestContext
s使用共享状态;调用append()
时,追加的RequestContext
的内部状态将替换为要追加的状态。如果它不是空的,您将丢失数据(没有合并),因此它将失败