Я пытаюсь получить файлы 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 для возврата перед сбросом сценария предварительной загрузки