I think you just reinvented node.js core function named `domain.intercept`. :)
 
 
16.09.2014, 01:34, "Alexey Petrushin" <alexey.petrus...@gmail.com>:
 
about simple approach that turn this
 
    var printCommentsForUser = function(login, password, cb){
      authenticateUser(login, password, function(err, user){
        if(err) return cb(err)
        getComments(user.id, function(err, comments){
          if(err) return cb(err)
          renderComments(user, comments, cb)
        })
      })
    }
    
Into this
 
    var printCommentsForUserWithFork = function(login, password, ecb, cb){
      authenticateUser(login, password, ecb, function(user){    
        getComments(user.id, ecb, function(comments){
          renderComments(user, comments, ecb, cb)
        })
      })
    }
    
Or this
 
    var printCommentsForUserWithTwoCallbacks = function(login, password, ecb, cb){
      authenticateUser(login, password, ecb, function(user){    
        getComments(user.id, ecb, function(comments){
          renderComments(user, comments, ecb, cb)
        })
      })
    }    

On Monday, 15 September 2014 20:28:28 UTC+4, Ingwie Phoenix wrote:
Hai, everyone.

So I just figured out that Connect’s static file servers dont work well with symlinks…so I had tow rite myself a little workaround, a fallback router, per-se. But whilst I did so, I had a nice meeting with the callback hell. Here’s my code:

            CDN.use(config.CDN.baseUrl, function(req, res, next){
                if(err) { next(); throw err; }
                fs.lstat(config.base+"/cdn"+req.url, function(err,stats){
                    if(stats.isSymbolicLink()) {
                        fs.readlink(config.base+"/cdn"+req.url, function(err, linkstr){
                            if(err) throw err;
                            log.info("Redirecting request \""+req.url+"\" to \""+linkstr);
                            fs.readFile(linkstr, function(err, data){
                                if(err) throw err;
                                res.writeHead(200,{"Content-type":"text/html"});
                                res.end(data);
                            });
                        });
                    }
                });
            });
        });

Okay…thats lots. And how does one get around this and into a bit of nicer code? It almost looks like a little pyramid there…

Kind regards, Ingwie.

 

--
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+unsubscr...@googlegroups.com.
To post to this group, send email to nodejs@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/32603590-e433-43a9-860a-8c12fdbac3f9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+unsubscr...@googlegroups.com.
To post to this group, send email to nodejs@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/840691410826553%40web28o.yandex.ru.
For more options, visit https://groups.google.com/d/optout.

Reply via email to