Node.js 并行运行Expresse中间件

Node.js 并行运行Expresse中间件,node.js,asynchronous,express,Node.js,Asynchronous,Express,当某个中间件获取参数时,如何并行运行中间件?我在读,他们有如下电话: app.use(getUser); app.use(require('./middleware/settings')(config)); app.use(require("connect-assets")({ paths: [config.app.assets_dir + '/css', config.app.assets_dir + '/js', config

当某个中间件获取参数时,如何并行运行中间件?我在读,他们有如下电话:

app.use(getUser);
app.use(require('./middleware/settings')(config));
app.use(require("connect-assets")({
  paths:    [config.app.assets_dir + '/css',
             config.app.assets_dir + '/js',
             config.app.assets_dir + '/images',
             config.app.assets_dir + '/fonts',
             config.app.assets_dir + '/bower_components'
            ],
  buildDir: config.app.min_dir,
  gzip:     true
}));
但我有如下电话:

app.use(getUser);
app.use(require('./middleware/settings')(config));
app.use(require("connect-assets")({
  paths:    [config.app.assets_dir + '/css',
             config.app.assets_dir + '/js',
             config.app.assets_dir + '/images',
             config.app.assets_dir + '/fonts',
             config.app.assets_dir + '/bower_components'
            ],
  buildDir: config.app.min_dir,
  gzip:     true
}));
此外,什么时候最好使用这种方法,因为我的app.js中有许多中间件正在初始化和启动,例如:

app.use(getUser);
app.use(require('./middleware/settings')(config));
app.use(require("connect-assets")({
  paths:    [config.app.assets_dir + '/css',
             config.app.assets_dir + '/js',
             config.app.assets_dir + '/images',
             config.app.assets_dir + '/fonts',
             config.app.assets_dir + '/bower_components'
            ],
  buildDir: config.app.min_dir,
  gzip:     true
}));

我应该部分使用还是全部使用它?

您链接的文章中的技巧实际上并不直接适用于您的情况。他们讨论的是一个需要多个独立的I/O位的请求,以及从串行进程到并行进程的重构。对于资产管道,情况不同,该技术不直接适用。另外,对于第三方模块,您在构建资产时无法控制任何IO connect资产,但这一切只会发生一次。只需考虑使用他们的代码>预编译< /Cord>选项,你就可以了。< /P> 对于常见的第三方中间件,如资产管理器、静态服务器等,事情已经“并行”,因为express服务器可以一次响应多个请求。当自定义业务逻辑具有不需要串行执行的IO任务时,async.parallel技术更适合