Javadoc forRequestContext#fire()
只说:
发送与 RequestContext 关联的累积更改和方法调用。
Flow 部分下的GWT Moving Parts wiki 条目仅显示:
- 通过遍历代理的属性,所有累积的操作都将应用于域对象。
- 有效负载中的所有方法调用都会被执行。
ReqestContext
但是这些方法是否会按照它们在客户端实例上“执行”(累积)的顺序在服务器端执行?
对于我的情况,如果我在客户端执行:
context.persist().using(proxy)
context.find(proxy.stableId().to(updatingReceiver))
context.fire()
那么我可以确定在服务器端find()
将被调用,persist()
所以我updatingReceiver
将获得更新(persist()
'ed)实体的代理作为参数?
编辑:
更进一步,我是否可以确定在 response 之后返回客户端Reciever
将按照与累积相应方法的顺序完全相同的顺序调用?
最后,在所有 s 的操作之后,有没有办法添加一些将在响应处理结束时调用Receiver
的操作?
我认为这样的事情可能会奏效:
requestContext.fire(new Receiver<Void>() {
@Override
public void onSuccess(Void response) {
//Things to do after all receivers
});
它似乎真的像我预期的那样工作,但是因为 Javadoc 告诉我的关于RequestContext.fire(Receiver)
方法的所有内容是:
仅用于接收错误或验证失败。
我不是 100% 确定我的假设是否正确。