我有一個簡單的jsonRpcService與返回true或false的方法。有什麼辦法讓jsonRpcService同步工作嗎?
我有一個CCJS和SSJS事件代碼的按鈕。如果RPC返回true,我想停止代碼執行,但是,它看起來代碼在addCallBack完成之前觸發並且在SSJS上執行代碼或正在執行代碼
有沒有任何方法可以在繼續執行任何其他CCSJ之前等待addCallBack響應指令或SSJS代碼。我期待的返回false將停止任何代碼執行。
這裏我的代碼:
var lastupdate = '#{javascript:document1.getDocument().getLastModified().toString();}';
var myobject = rpcDocLock.checkUpdate(lastupdate);
myobject.addCallback(function(modified){
alert(modified); // #2
if (modified){
alert("This document has been modified."); // #3
return false;
}
});
alert("This alert is triggered and RPC has not finished its execution.") // #1
我加了3個警報,所以你可以看到他們正在執行的順序。
只需在* addCallBack *函數中移動應該在回調後執行的代碼。 – 2013-02-19 15:27:52
我試過@SvenHasselbach。我添加了一個else語句中的addCallback:'myobject.addCallback(功能(修改){ \t警報(修改); //#2 \t如果(修改){ \t \t警報(「該文件已被修改。「); //#3 \t \t \t \t返回FALSE; \t}其他{ \t \t validateForm(); \t} });'問題是我的按鈕有代碼也SSJS,所以這是爲不管什麼結果addCallback觸發我想要的是停止任何代碼執行,如果RCP方法返回** true ** – PSolano 2013-02-19 15:48:33
因此,如果我正確讀取這個事件的客戶端部分觸發服務器代碼確定事件的服務器部分是否應該運行爲什麼不把這個邏輯移動到事件的服務器部分,所以所有的服務器代碼都從一個入口點運行? – 2013-02-20 02:55:25