名称

Mojo::EventEmitter-事件发射器基类

简介

包装Cat;使用Mojo::Base“Mojo::EventEmitter”,-signatures;#发射事件子提示($self){$self->emit(吼叫=>3)}包装总管;#订阅事件我的$老虎=猫->新的;$tiger->on(吼叫=>sub($tiger,$times){对1..$times}说“RAWR!”);$老虎->戳;

描述

Mojo::EventEmitter是事件发出对象的简单基类。

活动

Mojo::EventEmitter可以发出以下事件。

错误

上的$e->(错误=>sub($e,$err){…});

这是一个特殊的错误事件,它不会由这个类直接发出,但如果未处理,则是致命的。子类可以选择发出它,但不需要这样做。

$e->on(error=>sub($e,$err){说“This looks bad:$err”});

方法

Mojo::EventEmitter从继承所有方法Mojo::基础并实现了以下新功能。

抓住

$e=$e->catch(子{…});

订阅“错误”事件。

#较长版本上的$e->(错误=>sub{…});

发出

$e=$e->emit('foo');$e=$e->发射('o',123);

发射事件。

has_subscribers(有订阅者)

我的$bool=$e->has_subscribers('foo');

检查事件是否有订阅者。

我的$cb=$e->在(foo=>sub{…})上;

订阅事件。

$e->on(foo=>sub($e,@args){…});

一旦

我的$cb=$e->一次(foo=>sub{…});

订阅事件并在事件发出一次后再次取消订阅。

$e->一次(foo=>sub($e,@args){…});

订户

我的$subscribers=$e->订户('fo');

事件的所有订阅者。

#取消订阅最后一个订阅者$e->取消订阅(foo=>$e->订阅者('fo')->[-1]);#订户变更单@{$e->subscribers('foo')}=反转@{$e->订阅者('foo’)};

退订

$e=$e->取消订阅('foo');$e=$e->取消订阅(foo=>$cb);

取消订阅活动。

调试

您可以设置MOJO_EVENTEMITTER_DEBUG公司将一些高级诊断信息打印到的环境变量STDERR公司.

MOJO_EVENTEMITTER_DEBUG=1

另请参阅

Mojolicious公司,Mojolicious::指南,https://mojolicio.org网站.