await-fn

A tiny package to await a normal function.

View the Project on GitHub 5c077m4n/await-fn

Await Function

Greenkeeper badge Build Status Known Vulnerabilities Coverage Status

A tiny helper to make it easy to await a classic function (and now promises too).

Note that the web option has been removed in order to keep the package as small as possible - if you want you can add it yourselves: HTTP Responder

Type into the terminal

npm install --save await-fn

And into your code (on commonjs environments):

const to = require('await-fn');

or (node 13.0 - 13.2 with --experimental-modules flag, 13.2+ normally):

import to from 'await-fn';

or (in your HTML):

<script src="https://unpkg.com/await-fn"></script>

and you are good to go!

For example:

async function doThisNThat() {
	/** code code code */
	let [err, data] = await to((a, b) => a + b, { params: [1, 3] });
	if (err) {
		/** handle error - only if throwError is set to false! */
	}
	/** code code code */
}

Usage:

To use this function: to(fnOrPromise [, options]);

  1. fnOrPromise: Function | Promise | <Function | Promise>[] the function or promise or array of them that you want to wait to.

  2. options: {} includes:

    • params: any[] or param: any the input parameters for your function (for functions only).

    • throwError: boolean set to true if you wish the error to be thrown instead of returned (this option has been renamed from throw).

    • returnOne: boolean set to true so the result will be only in one parameter (instead of an array of two) - it can be either a result or an error.

Returned values:

And the results will be returned like this:

[error, data] where:

Happy waiting! ;)