Pular para o conteúdo principal

SubscriptionManager

class SubscriptionManager<S extends SubscriptionConstructable> implements Manager

Orquestra todas as subscriptions, garantindo dados atualizados sem buscas excessivas.

implements

SubscriptionManager implementa Manager

constructor(Subscription: S)​

Subscription é a classe usada para gerenciar as subscriptions de cada endpoint. Cada instância representa uma subscription a um endpoint único específico.

Actions consumidas​

  • 'rdc/subscribe'
  • 'rdc/unsubscribe'

Subscription​

Subscription é uma classe que implementa SubscriptionConstructable. As instâncias de Subscription gerenciam as subscriptions de fato.

/** Interface handling a single resource subscription */
interface Subscription {
add(frequency?: number): void;
remove(frequency?: number): boolean;
cleanup(): void;
}

/** The static class that constructs Subscription */
export interface SubscriptionConstructable {
new (
action: Omit<SubscribeAction, 'type'>,
controller: Controller,
): Subscription;
}

add(frequency?: number): void​

Adiciona uma nova subscription ao recurso na frequência informada.

remove(frequency?: number): boolean​

Remove uma subscription para a frequência informada. Retorna true se não restarem mais subscriptions depois disso. Isso é usado para limpar Subscriptions sem uso.

cleanup(): void​

Realiza a limpeza de quaisquer recursos pendentes depois que a Subscription deixa de ser usada.

Implementação incluída​

observação

Você pode implementar sua própria Subscription para lidar com websockets despachando actions rdc/set com os dados que ela recebe para atualizar. Certifique-se de abrir a conexão no constructor e fechá-la em cleanup()