user-async-function

Take async functions from user code, whether they're promise-returning functions, callback-calling functions, or async/await functions

Usage no npm install needed!

<script type="module">
  import userAsyncFunction from 'https://cdn.skypack.dev/user-async-function';
</script>

README

user-async-function

Build Status Coverage Status

This module exports a function that calls a user function and waits for its completion. This function can be a callback-calling function, an async/await function, or a promise-returning function.

How to use

const userAsyncFunction = require('user-async-function')

// somewhere in your code...
function someFunction(userOptions) {
  userAsyncFunction(userOptions.someAsyncFunction).then(...)
}

// or in an async function
async function someFunction(userOptions) {
  await userAsyncFunction(userOptions.someAsyncFunction)
}

// Pass extra arguments at will
// They will be passed to the user function (before the callback)
userAsyncFunction(fn, 'arg1', 'arg2'/*, ...*/)