Dwr批處理
批量調(diào)用
你可以使用batch來(lái)批量的執(zhí)行遠(yuǎn)程調(diào)用。這樣可以減少與服務(wù)器的交互次數(shù),所以可以提交反應(yīng)速度。
一個(gè)batch以 DWREngine.beginBatch() 開(kāi)始 ,并以 DWREngine.endBatch() 結(jié)束。當(dāng)
DWREngine.endBatch() 被調(diào)用,我們就結(jié)束了遠(yuǎn)程調(diào)用的分組,這樣DWR就在一次與服務(wù)器的交互中
執(zhí)行它們。
DWR會(huì)小心的處理保證所有的回調(diào)函數(shù)都會(huì)被調(diào)用,所以你可以明顯的打開(kāi)和關(guān)閉批處理。只要?jiǎng)e忘了調(diào)
用endBatch(),否則所有的遠(yuǎn)程調(diào)用永遠(yuǎn)的處于列隊(duì)中。
警告:很明顯,把一些遠(yuǎn)程調(diào)用放在一起執(zhí)行也會(huì)產(chǎn)生一些影響。例如不能在batch里面執(zhí)行同步調(diào)用。
所有的元數(shù)據(jù)選項(xiàng),例如hooks, timeouts和errorHandlers都在batch級(jí)別的,而不是單次調(diào)用級(jí)別上的。
所以如果一個(gè)batch中有兩個(gè)調(diào)用設(shè)置了不同的超時(shí),除了最后一個(gè)其他的都被忽略。
function showBatch(){
DWREngine.beginBatch();
One.service(1,2,function(data){
alert("businessOne");
});
Two.service(function(data){
alert("businessTwo");
})
DWREngine.endBatch();
}
posted on 2009-03-05 22:59 §朱家二少§ 閱讀(225) 評(píng)論(0) 編輯 收藏 所屬分類: Dwr