Как я могу поделиться тайм-аутом между вкладками, чтобы срабатывать только один раз или заблокировать тайм-аут от выполнения в другой вкладке - PullRequest
0 голосов
/ 31 января 2020

В моем SPA я использую тайм-аут для обновления sh токена до его истечения. Этот тайм-аут устанавливается после того, как я приземляюсь на приложение, основываясь на текущем сохраненном времени истечения токена.

Например, если срок действия токена истекает в 12:00, я устанавливаю тайм-аут для обновления sh жетон в 23:50.

Что-то вроде:

window.setTimeout(myFunc, token.expire - 10 minutes in MS);

Если у меня есть 1 вкладка для моего приложения, все работает отлично.

Однако, если я открою 2 разные вкладки, и поскольку токен совместно используется поваром для всех вкладок ie, то в обеих вкладках будет установлено время ожидания в 23:50, что приведет к ошибке из-за на одновременные запросы и запрос токена refre sh завершается неудачей.

Я пытаюсь представить, как можно запустить тайм-аут только на 1 вкладке, даже если он установлен на второй вкладке одновременно .

Скажем, например, многопоточность, что я могу сделать, чтобы заблокировать тайм-аут второй вкладки?

Может ли хранение сессии помочь каким-либо образом?

Есть идеи? будет очень признателен.

...