RateLimiter
RateLimiter — classe para controle da taxa de requisições à Rest API. A instância singleton fica disponível através da propriedade rest.rateLimiter após a inicialização do Frame.
Limita automaticamente o número de requisições por segundo, enfileira as requisições quando o limite é excedido e tenta novamente as requisições ao receber um erro HTTP 429.
import { RateLimiter } from '@flowlu/miniapp-jssdk'Propriedades
lastRequestTime
Timestamp (ms) da última requisição enviada
get lastRequestTime(): numberlimit
Número máximo de requisições por segundo. O valor é preenchido a partir do contexto na primeira chamada à Rest API através de Rest.get() ou Rest.post(). Um valor -1 significa que o limite ainda não foi recebido do contexto
get limit(): numberprocessing
Número de requisições atualmente em processamento
get processing(): numberremaining
Número de requisições restantes antes de atingir o limite. O valor é atualizado ao receber cada resposta da Rest API
get remaining(): numberreset
Timestamp (ms) após o qual o limite é redefinido. O valor é atualizado ao receber cada resposta da Rest API
get reset(): numberMétodos
getInstance
Retorna a instância singleton atual de RateLimiter
static getInstance(): RateLimiterdestroy
Remove inscrições e libera recursos
destroy(): voidExemplo
import { App, RateLimiter, Rest } from '@flowlu/miniapp-jssdk'
await App.initializeFrame()
const rest = Rest.getInstance()
const rateLimiter = RateLimiter.getInstance()
// obter o usuário atual
const user = await rest.get('/core/user/get/')
// ler os valores atuais do limite de requisições
console.log({
limit: rateLimiter.limit,
remaining: rateLimiter.remaining,
reset: rateLimiter.reset,
})const App = window.FlowluMiniApp;
const frame = await App.initializeFrame();
// obter o usuário atual
const user = await frame.rest.get('/core/user/get/');
// ler os valores atuais do limite de requisições
console.log({
limit: frame.rest.rateLimiter.limit,
remaining: frame.rest.rateLimiter.remaining,
reset: frame.rest.rateLimiter.reset,
});