资讯专栏INFORMATION COLUMN

PHP的Ev教程二(watcher和watche回调等)

XboxYan / 3146人阅读

摘要:例如,下面的代码等待成为可读的等待直到可读所有观察者构造函数会自动启动观察者。因此,应该保留由构造函数或工厂方法返回的观察者对象。观察者回调传递给观察者构造函数派生于的类等。

Watchers (观察者)

观察者是为了记录某件事而创造的对象。例如,下面的代码等待STDIN成为可读的:

所有观察者构造函数会自动启动观察者。createStopped方法创建停止监视器(例如 EvIo::createStopped())

注意,当观察者对象被破坏时,观察者会自动停止。因此,应该保留由构造函数或工厂方法返回的观察者对象

还要注意的是,所有改变watcher属性(set,priority 等)的方法都会自动停止并在激活时再次启动,这意味着挂起的事件会丢失。

参见: Watcher callbacks.

Watcher callbacks (观察者回调)

所有监视器可以是活动的(等待事件)或不活动的(暂停)。只有活动的观察者才会调用它们的回调。所有回调都会被调用(至少有两个参数):watcher: 观察者,和revents: 接收时间的位掩码。

观察者回调传递给观察者构造函数(派生于EvWatcher - EvCheck::__construct() , EvChild::__construct()的类 等)。观察者回调应该匹配以下原型:

void callback ([ object $watcher = NULL [, int $revents = NULL ]] )

watcher (观察者实例)
The watcher instance(of a class extending EvWatcher ).

revents (观察者接收的事件集)
Watcher received events.

每个监视者类型都有相关的revents位掩码,因此可以对多个观察者使用相同的回调。事件掩码是在类型之后命名的,即 EvChild (or EvLoop::child() ), 设置 EV::CHILD , EvPrepare (or EvLoop::prepare() ) 设置 Ev::PREPARE , EvPeriodic (or EvLoop::periodic() ) sets Ev::PERIODIC等等,除了I/O事件之外(它可以同时设置Ev::READ 和 Ev::WRITE bits)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28882.html

相关文章

  • PHPEv教程三(Periodic watcher)

    摘要:周期性观察者的运行模式根据偏移间隔和重新调度参数,不同周期的观察者工作绝对定时器。这并不意味着触发器之间总是有秒的时间,但只有当系统时间显示一个完整的小时时才会调用回调。它必须根据传递的时间值也就是说,大于或等于第二个参数的最低时间值。 Periodic watcher operation modes (周期性观察者的运行模式) 根据偏移、间隔和重新调度参数,不同周期的观察者工作 of...

    wapeyang 评论0 收藏0
  • angularViewModel设计

    摘要:换言之,的对应的,此外它还有。它们共同构成的监控系统。和是相辅相成的。两者一起,构成了作用域的核心功能数据变化的响应。迭代的最大值称为。框架设计第三版,敬请期待 angular的ViewModel有一个专门的官方术语叫$scope, 它只是一个普通构造器(Scope)的实例。换言之,它是一个普通的JS对象。为了实现MVVM框架通常宣传的那种改变数据即改变视图的魔幻效果,它得装备上更多更...

    int64 评论0 收藏0
  • 【Vue原理】Watch - 源码版

    摘要:写文章不容易,点个赞呗兄弟专注源码分享,文章分为白话版和源码版,白话版助于理解工作原理,源码版助于了解内部详情,让我们一起学习吧研究基于版本如果你觉得排版难看,请点击下面链接或者拉到下面关注公众号也可以吧原理源码版今天继续探索源码,废话不 写文章不容易,点个赞呗兄弟专注 Vue 源码分享,文章分为白话版和 源码版,白话版助于理解工作原理,源码版助于了解内部详情,让我们一起学习吧研究基于...

    Hancock_Xu 评论0 收藏0

发表评论

0条评论

XboxYan

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<