Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – nodeJS(express,connect) – 在当前流中动态添加中间件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在使用formBuilder(客户端 javascript< => JSON< =>节点),所以我需要有效的方法来处理服务器上的JSON数据.所有表单都绑定在一条路由上,由中间件捕获,所以我需要这样的东西:

代码被简化(没有正则表达式,请求验证器等…)

var middleware = require('../middleware'); // simple dir to object export

exports = module.exports =function(req,res,next) {
  if(req.xhr && req.is('application/json')) {
    var i,items = req.body.events.length;
    for(i = 0; i < items; i++) {
      var event = req.body.events[i];
      if(middleware.forms[event] {
        // -----------------
        and here add that middleware into current flow ..
        // -----------------
      }
    }
  } else {
    return next();
}

最简单的方法是准备中间件列表,将使用它并在最终路由中调用它们async ..但我不认为这是好方法..

那么,我有没有办法将所请求的middlware添加到当前流程,但在filan路由之前?

解决方法

中间件只是功能.所以只要打电话就没有错.上周我遇到了同样的问题,我写了一个小帮手.

var walkSubstack = function (stack,req,next) {

  if (typeof stack === 'function') {
    stack = [stack];
  }

  var walkStack = function (i,err) {

    if (err) {
      return next(err);
    }

    if (i >= stack.length) {
      return next();
    }

    stack[i](req,walkStack.bind(null,i + 1));

  };

  walkStack(0);

};

您可以将它与数组或仅一个函数一起使用.

walkSubstack(middleware,next);
//or
walkSubstack([middleware,middleware],next);

大佬总结

以上是大佬教程为你收集整理的node.js – nodeJS(express,connect) – 在当前流中动态添加中间件全部内容,希望文章能够帮你解决node.js – nodeJS(express,connect) – 在当前流中动态添加中间件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: