Home  >  Q&A  >  body text

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

当前是一个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)
巴扎黑巴扎黑2769 days ago578

reply all(2)I'll reply

  • PHPz

    PHPz2017-04-11 11:39:54

    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。

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 11:39:54

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

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

    reply
    0
  • Cancelreply