Lua Web快速开发指南(9)
API 介绍 cf框架提供内置的异步库 cf , 需要使用的时候我们必须先导入API: local cf = require "cf" . 定时器与循环定时器 cf库内置了一些定时器方法, 这些方法为开发者提供了对时间事件的控制能力. cf.timeout 、 cf.at 、 cf.sleep . cf.sleep 方法是一个 阻塞 的定时器, 只有一个参数用来设置当前协程的休眠时间并且没有返回值. 此方法的行为(语义)取决于用户传入的参数: 当时间参数大于0的时候, 当前协程会暂停指定的时间且让出执行权. 当指定的时间超时后函数将会返回继续执行下面的代码. 当时间参数等于0的时候, 当前协程会暂停并且让出执行权. 当其它协程执行完毕(让出)后立刻返回. 当时间参数小于0或者非 number 类型的时候, 此方法将立刻返回. cf.timeout 与 cf.at 不会阻塞当前协程执行流程. 目前虽然暴露给开发者使用, 但真正的使用场景都仅限于在需要长连接业务内. cf.timeout 与 cf.at 都会返回一个 timer 对象, 开发者可以在任何时候使用 timer 对象的 stop 方法停止定时器. cf.timeout 与 cf.at 的参数如下: 第一个参数是一个指定的时间, 其在现实中的时间比例为1:1. 第二个参数是一个回调函数,