在家学习的第三周

 之前确实挺忙的在家,但是既然选择了远方就要承受远方所要经受的磨难,不过这又算是什么呢,毕竟社会工作中的竞争会更加的激烈,所以就先把考驾照之类的事情先放下吧,先去认真完成一件事情能做好也算是不错了。今天因为之前学es6的时候没有太在意promise所以就简单的去学习了一番,又把自己之前写的接口用promise写,真的是很舒服啊

原来的没有用promise的:

router.post('/register', function (req, res) {   //注册接口
    // res.render('register.html')
    //1,获取表单提交数据
    //2,配置body-parser
    //3,发送响应
    //判断,存在不注册,昵称也不能一样,邮箱也必须
    var body = req.body
    User.findOne(
        {
            $or: [
                {
                    email: body.email
                }, {
                    name: body.name
                }

            ]

        }, function (err, data) {
            if (err) {
                return res.status(500).json({ err: "2", message: 'err' })
            }
            if (data) {
                return res.status(200).json({ err: "1 ", message: '已存在' })
            }
            new User(body).save(function (err, user) {
                console.log('注册成功');
                if (err) {
                    return res.status(500).json({
                        err_code: 500,
                        message: 'Internal error'
                    })
                }
                //记录用户登录状态
                req.session.user = user //这就先放一下,弄不了了
                user_session = user
                // res.redirect('/') //服务端对异步请求无效对同步才有效,异步无效,通过客户端跳转
                // console.log(req.session.user);

                res.status(200).send(JSON.stringify({    //Express提供了一个响应方法:json(),该方法接收一个对象作为参数,他会自动帮你生成字符串再发送给浏览器
                    err: 0,                            //因此还能写成return res.status(500).json({ success: true,foo:'bar'})
                    message: "成功了"
                })) //接收的是json格式的字符串

                //有data则说明邮箱存在

            })
        })
})

用过之后的:

router.post('/register',(req,res,next) => {
    var body = req.body
    User.findOne({
        $and: [
            { 
                useremail: body.useremail
            },
            {
                username: body.username
            }
        ]
    })
    .then((data) => {
        if(data) {
            console.log("用户已存在");
        } else {
            return new User({
                username: body.username,
                userpassword: body.userpassword,
                useremail: body.useremail
            }).save()
        }
    })
    .then((data) => {
        console.log(req.session);
        console.log(req.session.user);
        req.session.user = data
        console.log(req.session.user);
        console.log(data);
        console.log(11111111111111);
        console.log("注册成功");
        return res.json({err: 0})
    })
})

确实是比那个嵌套用着更清晰简单,在深入学习一下promise吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值