Size: a a a

ECMAScript Developers

2020 May 22

АД

Адылбек Джороев... in ECMAScript Developers
там в целом приложение ничего не делает, только воссоздал ситуацию, в которой можно вызывать экшн с интерсептора
источник

АД

Адылбек Джороев... in ECMAScript Developers
в консоли можно отследить, там вывод происходит один раз
источник

АД

Адылбек Джороев... in ECMAScript Developers
циклов и повторов нет, пока что))
источник

AY

Anton Yatchenko in ECMAScript Developers
линтер конечно ругается на Dependency cycle, но код работает
источник

AY

Anton Yatchenko in ECMAScript Developers
нашел проблему, после создания инстанса апи есть такая строка
ax.defaults.headers.common.Authorization = `Bearer ${store.getState().token}` || '';

почему то вне интерсептора в файле нет доступа к store
источник

α

αμαν in ECMAScript Developers
Не знаю как сделать лучше, но имхо тут ни один из вариантов не блещет, и даже не знаю что хуже - циклические зависимости (что не факт, что прям плохо) + запутывающий линтер, сайд эффект вне src/index.js, или store.getState() прямо в интерцепторе
источник

α

αμαν in ECMAScript Developers
Скорее всего по возрастанию 😔
источник

α

αμαν in ECMAScript Developers
Может для токен рефреш отдельную сагу сделать можно, как-то хранить запросы на время обновления токена 🤔
источник

α

αμαν in ECMAScript Developers
Anton Yatchenko
нашел проблему, после создания инстанса апи есть такая строка
ax.defaults.headers.common.Authorization = `Bearer ${store.getState().token}` || '';

почему то вне интерсептора в файле нет доступа к store
Можно инжектить стор, так-то сами же сказали что циклическая зависимость
источник

AY

Anton Yatchenko in ECMAScript Developers
αμαν
Может для токен рефреш отдельную сагу сделать можно, как-то хранить запросы на время обновления токена 🤔
Потом придется вешать вотчер на все экшены, которые должны использовать токен. В таком случае своя миддлварка будет лучшим решением, и можно к саге не привязываться.
источник

α

αμαν in ECMAScript Developers
Anton Yatchenko
Потом придется вешать вотчер на все экшены, которые должны использовать токен. В таком случае своя миддлварка будет лучшим решением, и можно к саге не привязываться.
А как у вас обрабатываются случаи, когда надо сделать больше одного запроса и при этом токен устарел?
источник

α

αμαν in ECMAScript Developers
Я просто сам недавно думал как можно это красиво сделать, а тут похожий кейс как раз
источник

AY

Anton Yatchenko in ECMAScript Developers
αμαν
А как у вас обрабатываются случаи, когда надо сделать больше одного запроса и при этом токен устарел?
Сейчас никак, там где они вызываются, они вызываются последовательно.
источник

AY

Anton Yatchenko in ECMAScript Developers
αμαν
Я просто сам недавно думал как можно это красиво сделать, а тут похожий кейс как раз
Если придумаете, поделитесь пожалуйста
источник
2020 May 23

АД

Адылбек Джороев... in ECMAScript Developers
αμαν
Не знаю как сделать лучше, но имхо тут ни один из вариантов не блещет, и даже не знаю что хуже - циклические зависимости (что не факт, что прям плохо) + запутывающий линтер, сайд эффект вне src/index.js, или store.getState() прямо в интерцепторе
Конкретно в этом случае, циклические зависимости не являются проблемой, так как вызовы модулей асинхронны. Манипуляции стором вне реакта - вполне приемлемы, это же обычный шаблон наблюдатель
источник

АД

Адылбек Джороев... in ECMAScript Developers
источник

АД

Адылбек Джороев... in ECMAScript Developers
Есть еще такой подход
источник

A

Akhmad in ECMAScript Developers
Не подскажешь а что это за фонт?
источник

АД

Адылбек Джороев... in ECMAScript Developers
Akhmad
Не подскажешь а что это за фонт?
Который? На заставке?
источник

A

Akhmad in ECMAScript Developers
Да
источник