Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including async-time with all npm packages installed. Try it out:

var asyncTime = require("async-time")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

async-time v0.0.1

Time async functions using async-done for execution and completion.

async-time

Build Status

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 to asyncTime.
  • 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 to asyncTime.
  • timestamp: timestamp of when the function started.
  • duration: high resolution time between start and stop events. Generated by process.hrtime(startTime)
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free