Using OOP with NodeJS and mongoose instead of callback hell.
I am using the following class.
Notice that I use getMember() with a callback. I wonder How can I bind it to callBack(err) properly without inside functions.
My expected result would be:
getMember(req, res) {
    var memberId = req.params.id;
    Member.findById(memberId, this.callBack);
}
enter code here
This is my class:
'use strict';
var mongoose = require('mongoose'),
    Member = mongoose.model('Members');
class Members {
    constructor(router) {
        this.router = router;
        this.registerRoutes();
    }
    callBack(err, task) {
        if(err)
            res.send(err);
        res.json(task);
    }
    registerRoutes() {
        this.router.get('/members', this.list_all_members.bind(this));
        this.router.get('/members/:id', this.getMember.bind(this));
        this.router.post('/members', this.create_a_member.bind(this));
    }
    getMember(req, res) {
        var memberId = req.params.id;
        Member.findById(memberId, function(err, task) {
            if(err)
                res.send(err);
            else
                res.json(task);
        });
    }
}
module.exports = Members;
Solution:
I came up with a solution.
My constructor function:
constructor() {
    this.callBack = (err, task, res) => {
        if(err)
            res.send(err);
        res.json(task);
    }
}
My callback using mongoose:
select(req, res) {
    // schemaDB is the mongoose schema.
    schemaDB.find({}, (err, task) => { this.callBack(err, task, res) } );
}