首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >p4java api需要两次刷新才能获得新的变更列表描述。

p4java api需要两次刷新才能获得新的变更列表描述。
EN

Stack Overflow用户
提问于 2018-08-07 21:48:22
回答 1查看 113关注 0票数 0

在我的应用程序中,我有一个想要自动请求Swarm审查的部分。为此,我在变更列表描述中放置了一个#review标签并搁置文件(之后,Swarm审阅编号出现在描述中的标签后面)。一切工作正常,除了我需要在搁置后再次刷新更改列表以获取更新的描述并提取审阅ID。如果我只使用一次刷新,或者根本不刷新,则提取的描述不包含审阅ID。此外,在分步调试时使用单次刷新效果很好,但不是实时的。

代码语言:javascript
复制
client.shelveChangelist(changelist);
IChangelist cl = server.getChangelist(changelist.getId());
cl.refresh();
cl.refresh();
String description = cl.getDescription;

(实际上,刷新被执行了3次,因为在refresh()方法中也调用了getDescription()方法)。你知道为什么会这样吗?我试着深入研究这些方法,寻找新的线程,或者同步代码,但都不起作用。

EN

回答 1

Stack Overflow用户

发布于 2018-09-01 03:45:51

这是一个时机问题。

在服务器端发生的事情:在你的搁置命令上触发一个触发器,然后它asynchronously调用Swarm来创建一个评论。您的shelveChangelist()完成。Swarm现在创建评论。然后,Swarm更新原始的变更列表描述。

在你恢复精神之前,先睡一两秒钟。当然,如果Swarm非常忙,可能需要一两秒以上的时间。或者如果Swarm站点关闭,可能根本不会发生。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51728410

复制
相关文章

相似问题

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