Package Exports
- async-time
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (async-time) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
async-time
Time async functions using async-done for execution and completion.
Usage
var EE = require('events').EventEmitter;
var createTimer = require('async-time');
var bus = new EE();
var asyncTime = createTimer(bus);
// listen for timing events
bus.on('start', function(evt){
// function has started
console.log(evt);
});
bus.on('stop', function(evt){
// function has stopped
console.log(evt);
});
asyncTime(function(cb){
// do async things
cb(null, 2);
}, function(err, res){
// `error` will be undefined on successful execution of the first function.
// `result` will be the result from the first function.
})
API
Once a timing function is created, it is used the same as async-done
.
createTimer(EventEmitter)
=> Function
The main export is a function that allows you to create a timing function.
You must pass it an EventEmitter
instance (or an object with emit
and on
methods) or it will throw.
The EventEmitter
instance is the bus timing events are published on.
asyncTime(fn, callback)
See async-done
docs.
Events
start
The event fired when a function begins.
Properties:
id
: uuid generated for each function. Useful for tying start and end events together.name
: name property of the function given toasyncTime
.timestamp
: timestamp of when the function started.
stop
The event fired when a function finishes.
Properties:
id
: uuid generated for each function. Useful for tying start and end events together.name
: name property of the function given toasyncTime
.timestamp
: timestamp of when the function started.duration
: high resolution time between start and stop events. Generated byprocess.hrtime(startTime)