Ребятушки спасите памагите молю!!!! Пишу приложение на electronjs. Соответственно там nodejs. Задача очень простая, но из-за коллбэков никак не могу решить и вообще не понимаю что в этой ситуации делать. Это мой первый проект на nodejs, поэтому не кидайте тряпками если спрашиваю очень простые вещи.
Задача такая:
1) Создать переменную
2) Получить значение из cookie и занести в эту переменную.
3) Если cookie нужного не существует, то получаем из базы данных значение
4) Заносим полученное значение в переменную и записываем его в куки.
Я написал такой код:
P.S. Для работы с БД использую sequelize и SQLite
P.S.S. Я понимаю что данный код не рабочий. Я просто расположил код в порядке как я вижу что он должен отрабатываться, представляя что он работает синхронно.
var active_account=false; //Создаем переменную с изначальным значением false;
session.defaultSession.cookies.get({url: 'http://localhost',name: 'active_account'}, (error, cookie) => {
cookie=cookie[0];
active_account=cookie.value; //Получаем значение куки и заносим в переменную
});
if(active_account==false){ //Если значение осталось false (то есть значение не занесли), то начинаем получать значение из бд.
Account.findOne().then(function(account){ //Обращаемся к БД и берем первое значение
active_account=account.email; //Заносим значение в переменую
session.defaultSession.cookies.set({url: 'http://localhost', name: 'active_account', value: active_account}, (error) => {}) //Заносим значение в куки
});
}
console.log(active_account); //PROFIT
Я понимаю, что функции можно вкладывать друг в друга. Но тут есть не прямые зависимости, которые не позволяют это просто так сделать. К тому же, у меня весь остальной код который идет ниже должен использовать переменную active_account и тогда получается весь код тоже надо в отдельный callback вставлять?
Еще я попробовал заюзать этот плагин:
https://github.com/ybogdanov/node-sync
Но sequelize вообще отказывается делать запросы, если я где-то вставляю после функции sync. Может посоветуете как правильно подключить какие-то спец. плагины и как их подружить с sequelize?
Заранее большое спасибо!