【问题标题】:Really strange GWT RPC behavior + display真的很奇怪 GWT RPC 行为 + 显示
【发布时间】:2010-07-01 20:06:09
【问题描述】:

所以本质上,这个项目构建了一个来自各种测试类型的测试结果的门户。结果的获取和显示很好;但是,生成的表格没有以正确的顺序显示。它们的显示顺序是随机的,但它明确指定了 RPC 调用的调度顺序,我什至在我的面板中实现了一个索引系统以进一步提供帮助。

基本上,该应用程序由包含在一个垂直面板中的三个水平面板组成。

进一步解释:新、中、旧指的是被测软件产品的三个版本。 TestTable 只是一个自定义的 FlexTable,每个 xxxPanel 都是 Horizo​​ntalPanel。在 onModuleLoad() 方法之外,索引全部初始化为零。每个面板都有自己的服务,负责调度 RPC 调用以填充相应的面板。

public void onSuccess(List<TestResult> result) {

TestTable testTable1 = new TestTable(result);

if(result.get(0).getVrmf().equals(newestVersion)){
 newPanels.insert(testTable1, newIndex + 1); //insert adds element BEFORE specified index, so +1
 newPanels.addStyleName("horizontalPanelStyle");
 newIndex++;
}

if(result.get(0).getVrmf().equals(middleVersion)){
 midPanels.insert(testTable1, midIndex + 1); //insert adds element BEFORE specified index, so +1
 midPanels.addStyleName("horizontalPanelStyle");
 midIndex++;
}

if(result.get(0).getVrmf().equals(oldVersion)){
 oldPanels.insert(testTable1, oldIndex + 1); //insert adds element BEFORE specified index, so +1
 oldPanels.addStyleName("horizontalPanelStyle");
 oldIndex++;
}

}

};

以下是我的呼叫分配方式:
if(testPortalSvcNew != null){
testPortalSvcNew.getTestResults(5, newestVersion, TestType.SMOKE, callback); testPortalSvcNew.getTestResults(5, newestVersion, TestType.BVTUNIX, callback); testPortalSvcNew.getTestResults(5, newestVersion, TestType.BVTWINDOWS, callback); }

每次刷新都会生成不同的测试类型水平显示顺序。版本被正确分组并垂直分开,但它们的水平顺序很混乱。我被难住了!

【问题讨论】:

    标签: ajax gwt rpc gwt-rpc


    【解决方案1】:

    所以您希望测试按 SMOKE、BVTUNIX 和 BVTWINDOWS 的顺序返回?

    如果是这样,您将需要链接异步调用或将它们分组到一个 ajax 调用中,然后一次返回所有这些调用。异步调用就是这样。不保证退货。

    【讨论】:

    • 刚刚与一位熟悉 GWT 的同事交谈,他证实了我的恐惧,就像你一样。我将向服务传递一组 TestTypes 并以这种方式处理它。谢谢!如果我有声望,我会 +1 你 :-/ 我对这一切都不熟悉 :-)
    【解决方案2】:

    您可以尝试为每个面板创建一个新的TestTable 实例。现在您正在向所有三个面板添加相同的实例。我不确定这是否有帮助,但这有时可能会导致 GWT 出现奇怪的行为,因此值得一试。

    不过,我同意 @j flemm 的观点,即您永远无法确定异步服务的执行顺序。

    【讨论】:

      猜你喜欢
      • 2012-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-07
      • 2011-03-20
      • 1970-01-01
      相关资源
      最近更新 更多