2016-08-04 2 views
1

Я пытаюсь использовать callMethod() из метода, выполняемого на сервере.Wakanda callMethod синхронный режим

В этом случае я должен иметь возможность вызвать его в синхронном режиме. Однако через пробную версию и ошибку я обнаружил, что в этом контексте (то есть на сервере) для этого метода требуются три параметра, а не два упомянутых в документах.

Это требует

  • первый параметр должен быть строкой
  • второй параметр, который является массивом
  • третий параметр является объектом

Я пробовал довольно несколько комбинаций с этими параметрами, но ничего не работает. В то же время Ваканда не выдает ошибку, пока параметры находятся в правильной форме.

Любые идеи были бы более чем приветствуются.

ТИА

ответ

1

Давайте предположим, у нас есть две переменных, одна из которых имя DATACLASS и второе название метода DATACLASS в:

var myDataClass = "User"; 
var myMethod = "addUser"; 

Чтобы использовать DATACLASS «User» и вызвать метод «объявление dUser 'вы можете сделать это следующим образом:

var currentClass = ds.dataClasses[myDataClass]; 
currentClass[myMethod]() 
+0

Извините, что так долго отвечал - мне пришлось перейдите на другой проект в течение нескольких недель, и я только сейчас смог вернуться к этому. –

+0

ДА !! Это именно то, что мне нужно, и оно отлично работает. –

0

Метод callMethod() является методом клиентского, он должен быть использован на Prototyper Js файлы. попытаться использовать его на событие button.click:

button1.click = function button1_click (event) 
{ 
    ds.User.callMethod({method:"method1", onSuccess:myFunction, onError:failure}); 

     function myFunction(){ 
      return true; 
     } 
     function failure(){ 
      return false; 
     } 
}; 

Чтобы позвонить метод в ServerSide Файл в расслоение плотной синхронном режиме, вы можете просто сделать вызов таким образом:

var test = ds.User.method1(); 
+0

Да, я знаю, как вызвать метод на сервере. То, что я хочу сделать, это вызвать метод по имени, а не по ссылке. То есть я хочу настроить имя метода, например, следующее: methodName = «ds.» + ClassName + ». DoSomething» «Затем запустите' callMethod (methodName); ' –

Смежные вопросы