在Javascript中读取函数内部的变量?

时间:2015-07-31 21:46:27

标签: javascript jquery variables

现在我有三个文件,两个javascript文件和一个将调用这两个javascript文件的html文件。在我的第一个javascript文件中,我们称之为part1.js,我有这样的内容:

var dataval;
$.get('example.cgi', function(data){
    dataval = data;
});

在part2.js中,我试图调用此dataval值。但它不起作用,因为我假设dataval在get函数内部,因此是一个本地值。无论如何我能抓住这个价值吗?我的html文件正在调用这两个javascripts。无论如何我可以访问该变量吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

异步调用存在问题。您应该使用回调函数或使用jquery promise功能。

在你的part1.js中,你应该改为定义一个函数:

function callCgi(callback) {
    $.get('example.cgi', callback); //Callback will receive the data.
}

然后在part2.js中使用它:

callCgi(function(data) {
    //do something with data.
});

或承诺:

function callCgi() {
    return $.get('example.cgi');
}

然后在part2.js中使用它:

callCgi().then(function(data) {
    //do something with data.
});