new PubSub()
Canal de publicação e subscrição baseada em tópicos. Mantém um mapa de tópicos que podem ser subscritos. Quando uma mensagem é publicada para um tópico, todas as funções subscritas são executadas na ordem em que elas foram adicionadas. Erros não capturados abortam a publicação.
Tópicos podem ser identificados por qualquer string não vazia, exceto as correspondentes para as propriedades natives de Object, como toString, hasOwnProperty, etc.
Methods
-
clear( [opt_topic])
-
Clears the subscription list for a topic, or all topics if unspecified.
Parameters:
Name Type Argument Description opt_topic
string <optional>
Topic to clear (all topics if unspecified).
-
getCount( [opt_topic])
-
Retorna a quantidade de subscrições para um dado tópico ou para todos os tópicos se opt_topic não for informado.
Parameters:
Name Type Argument Description opt_topic
string <optional>
O tópico a ser verificado (todos os tópicos se não for informado).
Returns:
Número de subscrições para o tópico.
- Type
- number
-
publish(topic, var_args)
-
Publica uma mensagem para um tópico. Chama as funções subscritas para o tópico na ordem em que elas foram adicionadas passando todos os argumentos informados após topic.
Aborta a publicação se qualquer uma das funções chamadas lançar um erro.
Parameters:
Name Type Argument Description topic
string Tópico para o qual a mensagem será publicada.
var_args
* <repeatable>
Argumentos que serão passados para as funções subscritas.
Returns:
True se ao menos uma função subscrita for chamada.
- Type
- boolean
-
subscribe(topic, fn [, opt_context])
-
Subscreve uma função para um tópico. A função é invocada como um método para o contexto dado em opt_context, ou no contexto global caso nenhum contexto seja especificado.
Subscrever a mesma função para o mesmo tópico múltiplas vezes irá resultar em múltiplas invocações da função durante uma publicação.
Retorna a identificação da subscrição. Ela poderá ser utilizada para cancelar a subscrição por meio de #unsubscribeByKey.
Parameters:
Name Type Argument Description topic
string Tópico a ser subscrito.
fn
function Função que deverá ser invocada quando uma mensagem for publicada para o dado tópico.
opt_context
Object <optional>
Contexto da função que será chamada.
Returns:
Identificação da subscrição.
- Type
- number
-
subscribeOnce(topic, fn [, opt_context])
-
Subscreve uma função para um tópico que será chamada uma única vez. A função é invocada como um método para o contexto dado em opt_context, ou no contexto global caso nenhum contexto seja especificado.
Subscrever a mesma função para o mesmo tópico múltiplas vezes irá resultar em múltiplas invocações da função durante uma publicação.
Retorna a identificação da subscrição. Ela poderá ser utilizada para cancelar a subscrição por meio de #unsubscribeByKey.
Parameters:
Name Type Argument Description topic
string Tópico a ser subscrito.
fn
function Função que deverá ser invocada quando uma mensagem for publicada para o dado tópico.
opt_context
Object <optional>
Contexto da função que será chamada.
Returns:
Identificação da subscrição.
- Type
- number
-
unsubscribe(topic, fn [, opt_context])
-
Cancela a subscrição de uma função para um dado o tópico. Apenas exclui a primeira ocorrência encontrada.
Retorna um booleano indicando se uma subscrição foi removida.
Parameters:
Name Type Argument Description topic
string Tópico que deverá ter a subscrição cancelada.
fn
function Função a ter a subscrição cancelada.
opt_context
Object <optional>
Contexto da função que será chamada.
Returns:
True se uma subscrição foi removida.
- Type
- boolean
-
unsubscribeByKey(key)
-
Remove uma subscrição com base na chave retornada por #subscribe.
Parameters:
Name Type Description key
number Identificação da subscrição.
Returns:
True se uma subscrição foi removida.
- Type
- boolean