Ожидание асинхронного обратного вызова во время сценария предварительной загрузки Electron - PullRequest
0 голосов
/ 23 мая 2018

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

<webview src="http://localhost:3500" preload="./lib/my-preload.js"></webview>

Мой сценарий предварительной загрузки выглядит следующим образом

const { session } = require('electron').remote;


session.defaultSession.cookies.get({ name : 'templates' } , (error,cookies) => {
    console.log('RETURN');
    if(error)
        throw error;
    else{
        console.log(cookies[0].value );
        window.myTemplates = JSON.parse( cookies[0].value );

    }
});    

Однако - асинхронный обратный вызов никогда не достигается.Когда я делаю следующее, это позволяет мне получить доступ к сессионным cookie-файлам

let getTemplates = (callbackFn ) => {
session.defaultSession.cookies.get({ name : 'templates' } , (error,cookies) => {
    if(error)
        throw error;
    else{
        callbackFn( cookies[0].value );

    }
});
};
window.getTemplates = getTemplates;

Когда я вызываю функцию getTemplates из скрипта страницы веб-просмотра, она действует как ожидалось.Однако мне нужно, чтобы файлы cookie были доступны до загрузки любых других моих скриптов.Есть ли способ заставить nodejs ожидать асинхронного обратного вызова функции get для возврата перед сбросом сценария предварительной загрузки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...