Javascript异步函数调用:在回调函数中检索调用函数参数

时间:2013-02-04 06:23:46

标签: javascript google-maps

如何在Javascript回调函数中获取用户状态?就像我有一个Javascript函数进行异步调用,如下所示。现在在回调函数中我需要访问userstate。我怎样才能做到这一点?在Silverlight中,我们有用户类的东西。我们在Javascript中也有相同的机制吗?请协助。

注意:我不想使用Global变量,因为Func1()将在For循环中执行。

   function Func1() {
       var userState = "someValue";
       geocoder.asyncCall(parameters , CallBack);
   }


   function CallBack(result) {

       // Use result
       // How to access userState in this function
   }

2 个答案:

答案 0 :(得分:5)

试试这段代码:

function Func1() {
   var userState = "someValue";
   geocoder.asyncCall(parameters ,function(){ 
      CallBack(userState);
   });
}


function CallBack(result) {

   // Use result
   // How to access userState in this function
}

<强>更新

function PlotAddressOnMap(address) { 
   var address = address; 
   var userState="userState";
   geocoder.geocode({ 'address': address }, CityDetailsReceived(userState)); 
} 

function CityDetailsReceived(userState) {
   return function(results, status){
      //your code
   }
} 

答案 1 :(得分:4)

function Func1() {
   var userState = "someValue";
   geocoder.asyncCall(parameters , CallBack(userState));
}


function CallBack(userState) {
   return function(result){
       // userState is accessible
   }
}
相关问题