2014-02-10 57 views
0

任何人都可以給異步方法調用/並行執行方法中的簡單代碼(或鏈接)GWT。(Google Web ToolKit) 我在項目中的要求是調用多個方法同時,這些方法並行執行並在完成後將結果返回給應用程序。GWT中的異步方法調用

RPC的使用使得瀏覽器彈出「無反應的js代碼」警告消息,因爲要加載的數據非常龐大並且花費很多時間。

回答

1

瀏覽器是單線程的,所以你不能簡單地在不同的線程中執行JavaScript代碼。

但有一個例外:webworkers。但請注意,網絡工作者有很大的侷限性,並且在舊瀏覽器中不受支持(caniuse.com)。

支持某種並行性的另一件事是運行正在等待響應的http調用。這些不會阻止運行JavaScript,並且可以有多個並行等待調用(由於http規範而有2個,但實際數量取決於您的瀏覽器)。所以只需做一些RPC調用,它們將被並行執行。但請注意,結果將一個接一個地交付。

讓我們來看看「的RPC的應用使瀏覽器彈出來加載數據‘irresponsive js代碼’的警告信息是巨大的,需要大量的時間。」:

你真的需要所有的數據?如果用戶點擊以顯示某些細節,我通常只加載數據初始呈現所需的數據和加載其他相關數據所需的ID。另外,分頁等事情可以幫助減少最初需要的數據。

如果您需要所有數據,您可以嘗試使用Scheduler.scheduleIncremental(RepeatingCommand)來防止彈出窗口。