Почему я не могу использовать значение переменной cookie вне функции cookie.get? - PullRequest
0 голосов
/ 21 мая 2019

Я только начал учиться, используя электрон.Я установил файл 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>

Я получил значение cookieStr в console.log.

Затем в каком-то месте я хочу использовать cookieStr значение путем вызова getcookie(cname), но оно остается неопределенным.Как использовать значение cookie вне функции?Я попытался отобразить значение с «alert 1» внутри функции cookie.get, и это работа.Но 'alert 2', который вне функции cookie.get продолжает отображать undefined.

Спасибо

1 Ответ

0 голосов
/ 21 мая 2019

Чтение файлов cookie в электронном режиме является асинхронной функцией. Поэтому лучше вызывать функцию с обратным вызовом для возврата значения. или еще пообещай функцию.

    function getCookie(cname,callback) {
      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;
        }
        callback(cookieStr);
      });
      //alert(somevalue); //alert 2
    }

getCookie('test',function(returnValue){
//use the return value here
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...