UNPKG

mercury

Version:

A truly modular frontend framework

34 lines (25 loc) 551 B
'use strict'; var raf = require('raf'); module.exports = rafListen; function rafListen(observ, fn) { var sending = false; var currValue; return observ(onvalue); function onvalue(value) { currValue = value; if (sending) { return; } sending = true; raf(send); } function send() { var oldValue = currValue; fn(currValue); sending = false; if (oldValue !== currValue) { sending = true; raf(send); } } }