zoukankan      html  css  js  c++  java
  • node.js 的 中间件 初理解

    听说中间件还挺重要,下面梳理一下初认识:

    中间件是什么?简单说说http请求服务的过滤,当交给函数处理之前先交给它处理。匹配后会终止,要想再匹配,得加: next.

    中间件能解决什么问题?检测用户登录 / 检测RBAC曲线 等等

    例子:

    app.use('/',function(req,res,next){

        console.log('1');

        next();  //重要代码

    }

    app.get('./stu',function(req,res){

        console.log('stu index');

        res.send('stu index')

    }

    这个在输出的时候会输出1,再输出stu index。

    如果

    app.use('/',function(req,res,next){

        console.log('1');

    }

    app.get('./stu',function(req,res){

         console.log('stu index');

        res.send('stu index')

    }

    则只输出1,不会往下执行了。

    第二个大作用,可以过滤错误,对所有错误做统一处理:err,req,res,next 这些参数有些可以不写,但是顺序不能乱。

    app.get('./stu',function(err,req,res,next){

       if(err) next(err)

       .....

    }

    app.get('./stu/created',function(err,req,res,next){

       if(err) next(err)

       .....

    }

    在最后统一处理err,解放程序员双手,不繁琐

    app.use('/', function(err,req,res,next){

    res.send('网络异常。。。') //要改提示信息在这里改即可:res.send('网络异常,请稍后重试')

    }

  • 相关阅读:
    YARN架构设计详解
    HDFS文件上传
    HDFS Namenode启动过程
    (转)计算机原理学习(1)-- 冯诺依曼体系和CPU工作原理
    (转)python之from_bytes、to_bytes
    (转)Python3入门之线程threading常用方法
    (转)Python3.5 queue模块详解
    (转) argparse — 解析命令参数和选项
    (转)Python3之pickle模块
    (转)linux用户态和内核态理解
  • 原文地址:https://www.cnblogs.com/lvqiupingboke-2019/p/11937256.html
Copyright © 2011-2022 走看看