为什么我不能在cookie.get函数之外使用cookie变量值?

时间:2019-05-21 02:07:25

标签: electron

我刚刚开始学习使用电子。 我已经设置了一个cookie,我想使用它的值。

    function getCookie(cname) {
      var value = {
        name: cname
      };
      session.defaultSession.cookies.get(value, function (error, cookies) {
        let cookieStr = ''
        for (var i = 0; i < cookies.length; i++) {
          let info = cookies[i];
          cookieStr += `${info.name}=${info.value};`;
          console.log(info.value, info.name);
          let somevalue = info.value;
        }
        console.log(cookieStr);
        alert(somevalue); //alert 1
      });
      alert(somevalue); //alert 2
    }
</script>

我在console.log中得到了cookieStr值。

然后在某个地方,我想通过调用cookieStr使用getcookie(cname)值,但是它保持未定义状态。如何在函数外使用cookie值? 我试过在cookie.get函数中使用“警报1”显示该值,并且可以正常工作。但是,外部cookie.get函数的'alert 2'一直显示未定义。

谢谢

1 个答案:

答案 0 :(得分:0)

以电子方式读取cookie是一种异步功能。因此,最好通过回调函数来返回值。否则将功能分散化。

OFFSET()