javascript中直接取得DWR方法的返回值

一般在頁面中要取DWR方法的值的做法是

function test(){

     dwrTest.hello(function(data){alert(data)})

}

當你的javascript的test方法要返回這個值時就不好辦了。因爲DWR方法返回值是執行完後通過調用指定的函數將值返回。這們的話,我們往往會這麼做

 

function test(){

     var result;

     dwrTest.hello(function(data){result=data})

     return result;

}

 

上面的代碼在使用的時候會發現它的返回值爲"undefined",分析一下

dwrTest.hello(function(data){result=data})

這一句中“function(data){result=data}"這個方法是一個傳給dwrTest.hello的一個參數,是由hello方法執行完後再調用的,所以在test()中並不會執行,就直接返回了一個未初始化的"result"。

實際上這就是一個異步處理過程,而javaScript默認是同步執行的。

我們只要把上面的代碼改成:

Code
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章