node package manager


requestAnimationFrame polyfill for node and the browser


requestAnimationFrame polyfill for node and the browser.

var raf = require('raf')
raf(function tick() {
  // Animation logic 

Note: The stream/event emitter logic found in versions prior to 1.0.0 can be found in raf-stream.


Documentation at Mozilla Developer Network, W3 Specification

var raf = require('raf')

callback is the function to invoke in the next frame. handle is a long integer value that uniquely identifies the entry in the callback list. This is a non-zero value, but you may not make any other assumptions about its value.

handle is the entry identifier returned by raf(). Removes the queued animation frame callback (other queued callbacks will still be invoked unless cancelled).

Shorthand to polyfill window.requestAnimationFrame and window.cancelAnimationFrame if necessary (Polyfills global in node).

Alternatively you can require raf/polyfill which will act the same as require('raf').polyfill().


Based on work by Erik Möller, Paul Irish, and Tino Zijdel (