1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-cerebral/modules/clock/provider.js

27 lines
440 B
JavaScript
Raw Normal View History

2017-09-23 14:30:22 +00:00
// milliseconds per second
const SECOND = 1000
let timer = null
export default context => {
2017-09-23 14:30:22 +00:00
context.clock = {
start (signalPath) {
const signal = context.controller.getSignal(signalPath)
function tick () {
const now = Date.now()
signal({ now })
2017-09-23 14:30:22 +00:00
timer = setTimeout(tick, SECOND - (now % SECOND))
}
tick()
},
stop () {
clearTimeout(timer)
}
}
return context
}