Skip to content

Instantly share code, notes, and snippets.

@projectweekend
Created January 15, 2014 22:18
Show Gist options
  • Save projectweekend/8445841 to your computer and use it in GitHub Desktop.
Save projectweekend/8445841 to your computer and use it in GitHub Desktop.
Node.js - A reusable pattern to perform a FindOne query on a model a and emit across a Socket.IO channel on a fixed interval.
module.exports = function ( socket, handleError, config ) {
var route = config.route;
var model = config.model;
var query = config.query;
var sort = config.sort;
var interval = config.interval;
setInterval( function () {
var q = model.findOne( query ).sort( sort );
q.exec( function ( err, data ) {
if ( err ) {
console.log( err );
return handleError( route, err );
} else {
socket.emit( route, data );
}
} );
}, interval );
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment