New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

util-callbackify

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

util-callbackify

A backport of `util.callbackify` for Node.js 6.0 and up.

latest
Source
npmnpm
Version
1.0.0
Version published
Weekly downloads
42
-16%
Maintainers
1
Weekly downloads
 
Created
Source

util.callbackify

A backport of util.callbackify for Node.js 6.0 and up.

Installation

npm install --save util-callbackify

Usage

const callbackify = require('util-callbackify')

async function fn () {
  return 'Hello, World!'
}

const callbackFunction = callbackify(fn)

fn((err, result) => {
  if (err) throw err

  console.log(result)
  //=> Hello, World!
})

API

callbackify(original)

  • original <Function> An async function
  • Returns: <Function> a callback style function

Takes an async function (or a function that returns a Promise) and returns a function following the error-first callback style, i.e. taking an (err, value) => ... callback as the last argument. In the callback, the first argument will be the rejection reason (or null if the Promise resolved), and the second argument will be the resolved value.

The callback is executed asynchronously, and will have a limited stack trace. If the callback throws, the process will emit an 'uncaughtException' event, and if not handled will exit.

Since null has a special meaning as the first argument to a callback, if a wrapped function rejects a Promise with a falsy value as a reason, the value is wrapped in an Error with the original value stored in a field named reason.

function fn() {
  return Promise.reject(null)
}
const callbackFunction = util.callbackify(fn)

callbackFunction((err, ret) => {
  // When the Promise was rejected with `null` it is wrapped with an Error and
  // the original value is stored in `reason`.
  err && err.hasOwnProperty('reason') && err.reason === null // true
})

Keywords

async

FAQs

Package last updated on 28 Aug 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts