node/tools/eslint/node_modules/run-async/README.md
Rich Trott 7a8dd69e1c tools: update ESLint to 2.9.0
ESLint 2.9.0 fixes some minor bugs that we have been experiencing and
introduces some new rules that we may wish to consider.

PR-URL: https://github.com/nodejs/node/pull/6498
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-05-04 10:26:25 -07:00

50 lines
1.2 KiB
Markdown

Run Async
=========
[![npm](https://badge.fury.io/js/run-async.svg)](http://badge.fury.io/js/run-async) [![tests](https://travis-ci.org/SBoudrias/run-async.svg?branch=master)](http://travis-ci.org/SBoudrias/run-async) [![dependencies](https://david-dm.org/SBoudrias/run-async.svg?theme=shields.io)](https://david-dm.org/SBoudrias/run-async)
Utility method to run function either synchronously or asynchronously using the common `this.async()` style.
This is useful for library author accepting sync or async functions as parameter. `runAsync` will always run them as async method, and normalize the function handling.
Installation
=========
```bash
npm install --save run-async
```
Usage
=========
```js
var runAsync = require('run-async');
// In Async mode:
var asyncFn = function (a) {
var done = this.async();
setTimeout(function () {
done('running: ' + a);
}, 10);
};
runAsync(asyncFn, function (answer) {
console.log(answer); // 'running: async'
}, 'async');
// In Sync mode:
var syncFn = function (a) {
return 'running: ' + a;
};
runAsync(asyncFn, function (answer) {
console.log(answer); // 'running: sync'
}, 'sync');
```
Licence
========
Copyright (c) 2014 Simon Boudrias (twitter: @vaxilart)
Licensed under the MIT license.