zoukankan      html  css  js  c++  java
  • callback res.end 记得return(Javascript需要养成的良好习惯)

    错误示例:

    app.get('do',function(req,res,next){
        getUserId(function(err,userId){
            if(err){
                res.end(err);//错误位置
            }
            getHeadPicByUserId(userId,function(){
    
            });
        });
    });
    var getHeadPicByUserId=function(userId,callback){
        if(typeof userId!=='number'){
            callback('用户名非法');//错误位置
        }
        var users=[];//用户信息
        if(users[userId]===undefined){
            callback('用户不存在');//错误位置
        }
        setTimeout(function(){
            callback(null,users[userId]);
        },1000);
    }

    代码中包含容易忽略的错误,错误位置已标出。

    我们(例如我)很容易疏忽的就是:

    1、调用callback函数作为结果返回,但忘记用callback执行完成后依然会执行后续的代码,以上代码callback没有返回,后面的代码在callback运行完后,依然会继续执行,不是我们想要的,请养成这样使用习惯:

    return callback('用户名非法');

    2、调用res.end()也是同理,我们在调用res.end的时候是对该response的结束,但并不是对代码的结束,请养成习惯:

    return res.end(err);

    结论:请记得对callback,res.end类似的代码正确理解,记得做善后:)

  • 相关阅读:
    mysql 时间戳 转 时间
    VSCode搭建VUE 开发环境
    虚拟通信
    JavaScript 获取客户端计算机硬件及系统信息
    Thinkphp关联模型BELONGS_TO
    docker部署rancher踩坑篇
    青龙面板 脚本 依赖库下载安装
    Linux 随记
    Tekton DAG代码
    手写Spring valar
  • 原文地址:https://www.cnblogs.com/chianquan/p/5669882.html
Copyright © 2011-2022 走看看