通用中间件 Middl

码农软件 · 软件分类 · 服务器端JavaScript · 2019-04-13 15:43:34

软件介绍

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);

本文地址:https://www.codercto.com/soft/d/3499.html

蚁群算法原理及其应用

蚁群算法原理及其应用

段海滨 / 科学出版社 / 2005年2月1日 / 48.0

《蚁群算法原理及其应用(精装)》系统、深入地介绍了蚁群算法的原理及其应用,力图概括国内外在这一学术领域的最新研究进展。全书共包括10章,主要内容包括蚁群算法的思想起源、研究现状及机制原理;蚁群算法的复杂度分析;蚁群算法的收敛性证明;蚁群算法参数对其性能的影响;蚁群算法的参数选择原则;离散域和连续域蚁群算法的若干改进策略;蚁群算法在多个优化领域的典型应用;蚁群算法的硬件实现技术;蚁群算法与其他仿生优......一起来看看 《蚁群算法原理及其应用》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具