簡體   English   中英

Java同步請求到icCube

[英]Javascript synchronous request to icCube

在顯示它們之前,我需要合並3個MDX請求的結果,分別為mdx1,mdx2和mdx3。

如何在調用display方法之前等待3個過程完成?

是否可以同步調用executeRequest方法?

這是代碼結構:

executeRequest(new viz.MdxGviRequest(mdx1), {}, function(gviTable) {
// process result1
});
executeRequest(new viz.MdxGviRequest(mdx2), {}, function(gviTable) {
// process result2
});
executeRequest(new viz.MdxGviRequest(mdx3), {}, function(gviTable) {
// process result3
});

// combine result1, result2 and result3 into result
// display result using Google table chart

由於icCube使用jQuery,因此這里是使用jQuery的when / done功能的可能解決方案。

var res1_done = $.Deferred();
var res2_done = $.Deferred();
var res2_done = $.Deferred();

var res1, res2, res3;

function onAllResultDone() {
   // handle here your results (res1/res2/res3)
}

$.when( res1_done, res2_done, res3_done ).done(function() {
  onAllResultDone();
});

executeRequest(new viz.MdxGviRequest(mdx1), {}, function(gviTable) {
  res1 = ...;
  res1_done.resolve();
});
executeRequest(new viz.MdxGviRequest(mdx2), {}, function(gviTable) {
  res2 = ...;
  res2_done.resolve();
});
executeRequest(new viz.MdxGviRequest(mdx3), {}, function(gviTable) {
  res3 = ...;
  res3_done.resolve();
});

如果您有jquery,則可以whendone when使用we。 因此,僅在when將那些executeRequest放入內部when然后將結果組合在一起即可done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM