nodejs / promises

Promises Working Group Repository
107 stars 11 forks source link

`util.toCallback(asyncFn)` - interop of async functions with callbacks. #6

Closed benjamingr closed 7 years ago

benjamingr commented 8 years ago

Similar to https://github.com/nodejs/promises/issues/5 I'm looking at ways to make the lives of callback users easier with async/await landing. I'm wondering if core should provide a method called toCallback that takes an async function and converts it to a callback returning function. This is similar to asCallback except taking a function:

async function fooP() {
    // some async/await stuff
    // ...
    return "Hello"; 
}
const foo = util.toCallback(fooP);

foo((err, data) => console.log(data)); // hello

The name and where it is are both debatable.

chrisdickinson commented 8 years ago

Does anyone object to making this issue non-blocking for the Promises PR?

benjamingr commented 8 years ago

This issue is orthogonal (and certainly non-blocking) for the promises-in-core PR. It is only about async functions being more ergonomic to callback users.

chrisdickinson commented 8 years ago

Excellent! Did you see callbackify in the existing PR?

chrisdickinson commented 8 years ago

Would you object to discussing a public util.promisify in this issue, or would you prefer to keep that separate?

benjamingr commented 8 years ago

Well, there are different stakeholders so I'd rather keep them separate. It seems like a generally good idea to keep discussions small to include participation. I don't feel very strongly about it though.

benjamingr commented 7 years ago

This landed