直至正文
豫言包府
← 众包

豫言操作系统网页定时 0.1.0

豫言 · 库

启动一次或周期定时并取消,到期事件进入统一事件队列的公共接口。

网页定时之约 0.1.0

此包令浏览器(及能供同义事列之宿主)中豫言之客,启一次之期或周期之期而撤之。期惟生事:期至,宿主投类曰“定时”之事于客之统一事列,客以网页事件之约所载等待网页事件取之。宿主不于期回调中行客之代码,业务更新之法,客取事后自决。客依此包,诸术皆当具。

诸术

启动一次定时:整数、字符串,返整数

参数依次为延时毫秒(零至二十一亿四千七百四十八万三千六百四十七)与标记(任意文,至多一千零二十四 UTF-16 码元;宿主原样返之,客以别其用)。返定时号(正整数,实例内递增,不复用)。延时至则宿主投一事,其后此期消亡。

启动重复定时:整数、字符串,返整数

参数为间隔毫秒(十至二十一亿四千七百四十八万三千六百四十七)与标记,返定时号。每隔一间投一事,直至取消定时。不积压:前一事未被客取,则至期之定时不复投新事;客忙则不见淹没,亦不补投所失之期;客可以事中之“时刻”察其实际间隔。

取消定时:整数,返爻

撤其期,并去此号未取之事。若此一调阻止后事——期仍在,或列中有此号未取之事被去——则返阳;号未知,或一次之期其事已被取,则返阴。既撤,保证不复收此号之事;已被取之事不可追,客以己之“世代”记之可也。

事

类曰“定时”,诸字段依网页事件之约:订阅号即定时号,名曰“定时”,详情为

{"种类":"一次","标记":"轮询","时刻":1790000000123}

种类曰“一次”或“重复”;时刻乃触发时宿主墙上钟之 Unix 毫秒。同一周期之期,同时至多一未取之事;诸期之事以触发先后排列。定时事与他类事各自计数,默认列限一千零二十四,满则弃最旧之定时事而计其数(一次之期其事被弃则永失,客当速取)。

限额与败

| 项 | 限 | | --- | --- | | 同时之期 | 至多六十四(一次之期至则释其额) | | 一次之延时 | 零至二十一亿四千七百四十八万三千六百四十七毫秒 | | 周期之间隔 | 十至二十一亿四千七百四十八万三千六百四十七毫秒 | | 标记 | 至多一千零二十四 UTF-16 码元 |

违约之调用(数越界、标记过长、期已满)发豫言事故,其辞为中文;撤未知之号非败,返阴。宿主闭则诸期尽除,其后启期亦发事故。

浏览器之实约

  • 页在后台,浏览器降定时至约每秒一次,久处后台或更缓;客勿恃后台之精。
  • 定时事与界面事共一事环:客方处一耗时之事,至期之事于列中待之。
  • 计时凭宿主之 setTimeout 与 setInterval,不保毫秒之准。

一致性之例

  1. 启动一次定时(三十,“甲”)返一;等待网页事件得类定时、订阅号一、详情 {"种类":"一次","标记":"甲",…};再候不复有此号之事。
  2. 启动重复定时(二十,“乙”)后客忙二百毫秒再取事:仅得一事(不积压);取后续每约二十毫秒有新事。
  3. 启动一次定时(一千,“丙”)即取消定时:返阳,一秒后无事;再撤同号返阴。
  4. 期至而事在列未取时取消定时:返阳,列中此事被去。
  5. 同时有六十四期而再启:发事故;撤其一后可再启。

界

此包不定:动画帧与空闲回调(见宿主库“宿主”类之事)、依墙上钟日期而触发(云端之“定时事件”包乃别事)、跨窗共享、休眠复起之补偿。

所赖

观包之制

上传之记

今修订:1 ·

  1. 修订 1
    取 ZIP

包之层级

父:豫言操作系统接口

无子包。