simple-asyncifydeprecated

Turns sync functions into Node.js-style async ones.

Usage no npm install needed!

<script type="module">
  import simpleAsyncify from 'https://cdn.skypack.dev/simple-asyncify';
</script>

README

Overview Build Status

Turns sync functions into Node.js-style async ones.

Inspired by node-asyncify.

var asyncify = require("simple-asyncify")

function addSync(a, b) {
  if (typeof a !== "number" || typeof b !== "number") {
    throw new TypeError("add requires two numbers")
  }
  return a + b
}

var add = asyncify(addSync)

add(1, 2, function(error, sum) {
  console.log("The sum is: " + sum)
})

add(1, function(error, sum) {
  console.log(error.message)
})

console.log("Let’s do some math!")

// Let’s do some math!
// The sum is: 3
// add requires two numbers

Installation

npm install simple-asyncify

var asyncify = require("simple-asyncify")

Usage

asyncify(syncFn)

Returns an async function that accepts the same arguments as syncFn plus a callback. It runs syncFn with the arguments. If syncFn throws an error, the callback is invoked with that error. Otherwise the callback is invoked with null and the return value of syncFn.

setImmediate is used to make the function async.

License

The X11 (“MIT”) License.