Skip to content
This repository was archived by the owner on Nov 9, 2017. It is now read-only.
This repository was archived by the owner on Nov 9, 2017. It is now read-only.

util.callbackify for async functions #109

@benjamingr

Description

@benjamingr

Hey,

From nodejs/promises#6 originally, but seeing that util.promisify is finally in sight, I think this might be worth proposing too.

I propose that for compatibility reasons, and so that callback users using Node can keep working with their tooling to add a util.callbackify function that converts an async function to a callback taking function.

For example:

async function foo() {
  let data1 = await promiseApi(..);
  let data2 = await promiseApiOther(data1);
  return result;
}
const foo2 = util.callbackify(foo);
foo2(function(err, data) {
  // error here if foo threw
  // use data here
});

This is likely faster in core, and would enable seamless integration of async functions into callback APIs and code bases. Seeing as we're not going to make a promisified core any time soon - this is beneficial for interoping between code bases using callbacks and async functions together.

How do @nodejs/collaborators feel about this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions