Middl 是采用JS编写的通用中间件。
安装
npm install --save middl
模块使用:
const middl = require('middl'); const app = middl(); // a sync middleware app.use((input, output) => { output.prop = 1; }); // an async middleware app.use((input, output) => { // Faking a time consuming task... return new Promise(resolve => { setTimeout(() => { output.prop += 1; resolve(); }, 10); }); }); // a time measuring logger: app.use((input, output) => { var start = new Date(); next() .then(() => { var ms = new Date() - start; console.log('Done in %s ms', ms); }); }); // or even prettier with generator functions: app.use(function *(input, output) { var start = new Date(); yield next(); var ms = new Date() - start; console.log('Done in %s ms', ms); }); // or when using Babel and async/await: app.use(async (input, output) => { var start = new Date(); await next(); var ms = new Date() - start; console.log('Done in %s ms', ms); }); // pass in the initial `input` and `output` objects // and run the middleware stack: app.run({val: 'hello'}, {}) .then(output => { // output.prop === 2 });
示例代码:
const http = require('http'); const middl = require('middl'); // Make middl more Express like by using `url` as the property to match paths with: const app = middl({pathProperty: 'url'}); // Adding all app.METHOD() functions à la Express: http.METHODS.forEach(method => { app[method.toLowerCase()] = app.match({method}); }); // Also the app.all(): app.all = (path, fn) => { http.METHODS.forEach(method => { app[method.toLowerCase()](path, fn); }); return app; }; // A route handler for requests to: GET /test app.get('/test', (req, res) => { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('ok\n'); }); // A route handler for requests to: POST /test app.post('/test', (req, res) => { res.writeHead(202, {'Content-Type': 'text/plain'}); res.end('accepted\n'); }); // Make the middle app web server listen on port 3000: http.createServer(app).listen(3000);
连接多个应用程序实例 虽然Spring Cloud Stream使个人Spring Boot应用程序轻松连接到消息传递系统,但是Spring Cloud Stream的典型场景是创建多应用程序管道,其中微服务应用程序将数据发送给彼此。您可以通过将相邻应用程序的输入和输出目标相关联来实现此场景。 假设设计要求时间源应用程序将数据发送到日志接收应用程序,则可以在两个应用程序中使用名为ticktock的
有没有一种方法在JavaScript中使多个网页之间进行客户端进程间通信?理想情况下,我希望在不进行任何复杂的服务器状态更新、ping等操作的情况下完成此操作,并使其仅在客户端上工作。如果我也能做这个跨浏览器,我就在天堂了哈哈。有什么想法吗?谢谢!
我正在使用Spool Directory作为源,HDFS作为接收器,文件作为通道。当执行水槽作业时。我得到了以下问题。内存通道工作正常。但是我们需要使用文件通道实现相同的功能。使用文件通道我得到了以下问题。 我已经在flume.env中将JVM内存大小配置为3GB。sh文件。请让我知道我们需要做的任何其他设置。 2016年1月20日20:05:27099错误[SinkRunnerPollingRu
调用中间件的形式为: func( name string, args []reflect.Value, context Context, next NextInvokeHandler) (results []reflect.Value, err error) { ... results, err = next(name, args, context)
父子组件间通信 这种情况下很简单,就是通过 props 属性传递,在父组件给子组件设置 props,然后子组件就可以通过 props 访问到父组件的数据/方法,这样就搭建起了父子组件间通信的桥梁。 import React, { Component } from 'react'; import { render } from 'react-dom'; class GroceryList exte
问题内容: Java相互依赖的线程如何通信? 例如,我正在使用需要来自其他线程的数据的线程构建Web搜寻器。 问题答案: 这取决于通信的性质。 它是双工的吗(即A与B对话,B与A对话)? 是数据通信还是 完成 通信? 等等。 线程间通信的最简单,最可取的形式就是等待其他线程的完成。使用以下命令最容易做到: 在第一个任务完成之前,第二个任务将不会执行。 Java 5+具有 许多 并发实用程序来处理这