Popush小优化

本文探讨了使用Backbone框架进行开发的过程,并针对自动登录功能中出现的信号发送时间错位问题进行了分析与解决。作者介绍了如何判断用户名是否存在以及如何调整登录信号的发射时机。

    在做这项作业时,首先简单了解了一下Backbone架构,大致了解Backbone.Model,Backbone.Collection,Backbone.View的结构,在大致了解了其工作原理后,就开始阅读代码。添加自动登录的核心代码比较简单,只需利用socket发送登录信号。但是简单这样写就会遇到一个问题:由于注册信号和登录信号挨得太近,使得有时候登录信号可能会先于注册信号到达而产生错误。因此,针对这个问题,我们只需要让登录信号延迟发射即可。但是,这样做之后,还有一个缺陷:当用户用于注册的用户名已经在数据库中存在时,他仍然会发射登录信号,这显然是不合适的。因此我们需要判断用户用于注册的用户名是否已经存在,若不存在再去发射登录信号。因此最后的代码是这样的:

setTimeout(function(){
    if (app.isExist == false){
        app.socket.emit('login', {
            name: name,
            password: pass,
        });
    }
}, 500);

    感想:通过这次popush作业,我对Backbone有了一点了解,也对mvc架构又多了一点了解,感觉这样子写代码是一种新思路,给人不一样的感觉。另外,关于上述socket按发送信号到达时间错位的问题,我在自己的机器上一开始并未发现,而是通过与同学的交流在别人的机器上发现的。所以,交流还是非常重要的。

By 包煜

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值