Skip to content

Instantly share code, notes, and snippets.

@apechkin
apechkin / Refresh_access_token_module_Axios_Interceptor.ts
Last active September 12, 2022 17:03
Механизм обновления access токена, если одновременно пришло более одного запроса с ошибкой Token Error
protected onResponseSuccess = async <T>(response: AxiosResponse): Promise<T> => {
const config = response?.config || {}
if (this.subject.getState() === 'pending') {
let observer = null
await new Promise<void>((resolve) => {
observer = new Observer(resolve)
this.subject.attach(observer)
})
this.subject.detach(observer)
const configWithToken = this.updateConfigToken(config)
@apechkin
apechkin / types.ts
Created December 13, 2020 16:08 — forked from ClickerMonkey/types.ts
Typescript Helper Types
// when T is any|unknown, Y is returned, otherwise N
type IsAnyUnknown<T, Y, N> = unknown extends T ? Y : N;
// when T is never, Y is returned, otherwise N
type IsNever<T, Y = true, N = false> = [T] extends [never] ? Y : N;
// empty object
type EmptyObject = { [key: string]: never };