У меня есть простой jsonRpcService с методом, который возвращает true или false.Есть ли способ заставить jsonRpcService работать синхронно?
У меня есть кнопка с кодом на событиях CCJS и SSJS. Я хочу прекратить выполнение кода, если RPC вернет true, однако он выглядит, когда код запускается до того, как завершится добавление кода addCallBack и код в SSJS или выполняется
Есть ли способ подождать ответа addCallBack, прежде чем продолжить с любым другим CCSJ инструкции или SSJS-кода. Я ожидал, что return 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 *. –
Я пробовал это @SvenHasselbach. Я добавил заявление еще в addCallback: 'myobject.addCallback (функция (модифицированную) { \t предупреждение (модифицированный); // # 2 \t если (модифицированный) { \t \t предупреждение (" Этот документ был изменен.«); // # 3 \t \t \t \t возвращение ложным; \t} еще { \t \t validateForm(); \t} });' Проблема моя кнопка имеет код также на SSJS, так это быть срабатывает независимо от того, что является результатом addCallback. Я хочу остановить любое выполнение кода, если возвращается метод RCP ** true ** – PSolano
Итак, если я правильно его читаю, клиентская часть вашего события запускает код сервера, который определяет, должна ли выполняться серверная часть вашего события. Почему бы просто не переместить эту логику на серверную часть события, так что весь код сервера запускается из одной точки входа? –