关于获取回调函数的返回值问题

当前是一个js,引入了一个模块,参数名为page,test1为模块里的一个函数,我传了z变量过去,回调函数里的return data是成功的。显示test1的返回值。然后我想在外部获取这个值。将data给c,就提示data is not defined。想知道是不是闭包问题,想问问如何才能在外面获取到这个data

    page.test1(z,function(data){
        return data;
        console.log(data)
    });
    c=data;
    console.log("这就是"+data)
阅读 10.9k
2 个回答
var c;
page.test1(z,function(data){
        c=data;//将内部变量的值赋给外部变量
        console.log(data);
        return data;
    });
console.log("这就是"+c)

你的写法跟c有什么关系呀?
就算改成console.log("这就是"+c)
本身外部就读取不到函数内的data值,也只能把undefined(data = undefined)赋值给c。

直接绑到window上试试,就是给window.data赋值~

另外我也没弄明白c是干嘛的。。你赋值给c不是应该console.log(c)么。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题