2016-08-04 61 views
1

我正嘗試從服務器上執行的方法使用callMethod()。Wakanda callMethod同步模式

在這種情況下,我應該可以在同步模式下調用它。然而,通過試驗和錯誤,我發現在這種情況下(即在服務器上),該方法需要三個參數,而不是文檔中提到的兩個參數。

它需要

  • 的第一個參數是字符串
  • 第二個參數是一個數組
  • 第三個參數是一個對象

我已經相當試過幾個這些參數的組合,但似乎沒有任何工作。與此同時,只要參數的格式正確,Wakanda就不會發生錯誤。

任何想法都會比歡迎。

TIA

回答

1

讓我們假設我們有兩個變量,一個包含數據類的名稱和數據類的方法的第二個名字:

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

要使用數據類「用戶」和調用方法「廣告dUser'你可以這樣做:

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

抱歉花了這麼長時間回覆 - 我不得不進入另一個項目幾周​​,我纔剛剛回到這裏。 –

+0

是的!這正是我所需要的,它完美的工作。 –

0

方法callMethod()是一個客戶機側的方法,但應於原型建立的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; 
     } 
}; 

撥叫服務器端的js文件的方法在同步模式中,你可以撥打電話以這種方式:

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

是的,我知道如何調用服務器上的方法。我想要做的是按名稱而不是引用調用方法。這就是我想設置一個方法的名稱,如下所示:'methodName =「ds。」+ className +「。doSomething」'然後運行'callMethod(methodName);' –