#
lastRun()检索当前运行进程中任务上次成功完成的时间。在监视程序运行时,在后续任务运行中最为有用。
与 src()
结合使用时,启用增量构建,通过跳过自上次任务成功完成以来未更改的文件,从而加快执行时间。
#
用法#
签名#
参数参数 | 类型 | 备注 |
---|---|---|
task (必需) | 函数 字符串 | 任务函数或已注册任务的字符串别名。 |
precision | 数字 | 默认值:Node v0.10 上的 1000 ,Node v0.12+ 上的 0 。详情见下文的 时间戳精度 部分。 |
#
返回值一个时间戳(以毫秒为单位),与任务的上次完成时间相匹配。如果任务尚未运行或已失败,则返回 undefined
。
为了避免缓存无效状态,如果任务出错,则返回值将为 undefined
。
#
错误当使用字符串或函数以外的值调用时,会抛出一个错误,消息为“只有函数可以检查 lastRun”。
当在不可扩展函数上调用并且 Node 缺少 WeakMap 时,会抛出一个错误,消息为“只有可扩展函数可以检查 lastRun”。
#
时间戳精度虽然时间戳精度的默认值是合理的,但可以使用 precision
参数对它们进行舍入。如果你的文件系统或 Node 版本对文件时间属性的精度有损耗,这将很有用。
lastRun(someTask)
返回 1426000001111lastRun(someTask, 100)
返回 1426000001100lastRun(someTask, 1000)
返回 1426000001000
文件的 mtime stat 精度可能因 Node 版本和/或使用的文件系统而异。
平台 | precision |
---|---|
Node v0.10 | 1000ms |
Node v0.12+ | 1ms |
FAT32 文件系统 | 2000ms |
HFS+ 或 Ext3 文件系统 | 1000ms |
使用 Node v0.10 的 NTFS | 1s |
使用 Node 0.12+ 的 NTFS | 100ms |
使用 Node v0.10 的 Ext4 | 1000ms |
使用 Node 0.12+ 的 Ext4 | 1ms |