l8r

queue multiple functions and run later
Niceties
- widely compatible and small codebase
Caveats
- there is no built in mechanism to receive return values; use callbacks or promises
- any unhandled exception will stop subsequent function calls
Installation
$ npm install --save l8r
Example
'use strict';
var L8r = require('l8r');
var httpServer = require('http').createServer().listen(3000);
var io = require('socket.io')(httpServer);
var ioClient = require('socket.io-client')('http://localhost:3000');
var clientListeners = new L8r();
(function () {
var self = {
smile: '=)'
};
clientListeners.add(function (socket) {
var smile = this.smile || self.smile;
socket.on('smile', function (gesture) {
var smiley = gesture || smile;
console.log(smiley);
if (smile === '=)') {
socket.emit('wink');
}
});
socket.on('smirk', function (gesture) {
if (gesture === ';D' && smile === ':-)') {
console.log(gesture);
httpServer.close();
ioClient.close();
}
});
});
})();
var serverListeners = new L8r();
(function () {
serverListeners.add(function (socket) {
socket.once('wink', function () {
socket.emit('smirk', ';D');
});
});
})();
serverListeners.run(ioClient);
io.on('connection', function (socket) {
clientListeners.run(socket);
clientListeners.apply({
smile: ':-)'
}, [socket]);
ioClient.emit('smile');
});
API
add(fn)
run([arguments])
Run all the functions added to the queue, passing in any arguments
apply(context, [parameters])
Run all the functions added to the queue, with context,
applying an array of parameters (if provided)
-
context
Required
Type: Object
-
parameters
Type: Array
queue
The queue of functions to be called later
q
An alias for `queue`
License
ISC © Buster Collings