来自匿名函数的访问函数参数

时间:2015-03-03 21:52:18

标签: javascript jquery closures

如何从下面的FetchData方法中访问版本参数?

注意 - 获取数据是一个异步Rest调用,它将数据传递给回调函数。

 function TestData(guid, version) {                    
            var data = '';
            data =  FetchData(guid, function (guid, msg) {
                    alert(version);
            return getData(guid, msg);      
            }));        
        }

2 个答案:

答案 0 :(得分:-1)

如果你在回调中需要它 - 这段代码没问题。

例如,此代码的结果将是alert('hello')

 function TestData(guid, version) {                    
        var data = '';
        data =  FetchData(guid, function (guid, msg) {
                alert(version);
        return getData(guid, msg);      
        });        
    }
function FetchData(guid, callback) {
     $.get('http://www.example.com/', callback);
}
TestData('abc', 'hello');

答案 1 :(得分:-2)

尝试将version param添加到FetchData函数。 这是最简单的方法。

function TestData(guid, version) {                    
     var data = '';
     data =  FetchData(guid, version, function (guid, msg) {
           alert(version);
           return getData(guid, msg);      
     }));        
}