nodejs-sdk icon indicating copy to clipboard operation
nodejs-sdk copied to clipboard

Перезапрос токена не работает

Open vladkolotvin opened this issue 1 year ago • 2 comments

Вот тут есть метод initialize:

    private async initialize() {
        if (this.token) {
            return;
        }

        let lastError = null;

        for (let i = 0; i < 5; i++) {
            try {
                // eslint-disable-next-line no-await-in-loop
                this.token = await this.fetchToken();
                break;
            } catch (error) {
                lastError = error;
            }
        }
        if (!this.token) {
            throw new Error(
                // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
                `failed to fetch token from metadata service: ${lastError}`,
            );
        }
        setTimeout(async () => {
            try {
                this.token = await this.fetchToken();
            } catch {
                // TBD
            }
        }, 30_000);
    }

Думаю, что предполагалось, что каждые 30 секунд токен будет перезапрашиваться. Но setTimeout вызовет fetchToken только один раз. Тут не должен использоваться setInterval?

vladkolotvin avatar Sep 02 '22 10:09 vladkolotvin