Naboo's Podracing Misadventure

    nodeify-function

    0.0.1 • Public • Published

    nodeify-function

    Q helper for nodeifying a promise returning function.

    This method is useful for creating dual promise/callback APIs, i.e. APIs that return promises but also accept Node.js-style callbacks. Q provides a helper for nodeifying promises: promise.nodeify(callback). This function is the inverse: rather than nodeifying the promise, we can simply nodeify the function containing the promise. For example:

    var createUser = function (userName, userData) {
        return database.ensureUserNameNotTaken(userName)
            .then(function () {
                return database.saveUserData(userName, userData);
            });
    }
     
    createUser('Bob', { age: 42 })
        .then(function (result) {
            // …
        }, function (error) {
            // …
        });
     
    // Without `nodeifyFunction`
     
    var createUserNodeified = function (userName, userData, callback) {
        createUser(userName, userData)
            .nodeify(callback);
    };
     
    // With `nodeifyFunction`: a Q helper that abstracts the above into a
    // higher-order function
     
    var createUserNodeified = nodeifyFunction(createUser);
     
    createUserNodified('Bob', { age: 42 }, function (error, result) {
        // …
    });

    Keywords

    none

    Install

    npm i nodeify-function

    DownloadsWeekly Downloads

    2

    Version

    0.0.1

    License

    none

    Last publish

    Collaborators

    • oliverjash