00:00
来,咱们接着还有第六个,哎,Adjust这一块,哎这儿呢,我给大家讲一个案例啊,这个案例挺好的啊,就是在adjust这一块没有什么知识点,是因为在two里面的用法和结块瑞是一样的。是一样的,哎,而大家在解号里边都应该是用Dollar负和价值,这都发过请条吧。好,那么在这呢,哎,给大家提一个案例,有这么样一个案例啊,很有可能就是当面会问你们。这种案例其实大家都见过,你比如说一些电商网站,诶淘宝京东,咱们应该是都注册过账号。那在淘宝京东这些电商网站,你注册账号的时候,你比如说用户名密码确认密码,紧接着下面有一项,请输入验证码。这个应该见过。这是输入框,而右侧这紧接着有一个点击获取验证码的八。对不对。
01:00
通常来说,我们这用户一点击这个button,哎,他这做的好一点的,就开始倒计时,哎再次获取密码,或者说是获取密码,再次点击,还有多少秒可以再次点击。通常来说是60秒,是不是一直倒计时,也就是说在我倒计时没有结束的情况下,你用户再点击这个按钮是失效的。这个场景大家能懂吧,什么时候可以再次点击呢?等我这个倒计时完毕。因为你还得让用户再次点击,是存在这种情况,比如说咱们用户第一次点击,你是不是要发请求给服务器,要拿一个验证码。那很有可能你这一次请求就发送失败了。因为这个要经过网络的传输,很有可能去,很有可能失败了,或者说是网速太差。等到60秒倒计时结束了,用户根本手机上没有收到验证码。那这个时候用户以为失败了,他是不是有可能再次点击一次啊。
02:03
哎,如果说网速特别差,用户有很有可能点个五六次。当用户点了五六次以后,有这样一种场景,我网速突然变好了。也是用户之前发出去五到六次请求,在网速突然变好的情况下,而且那五六次请求都成功了。我咔咔,你手机上肯定能连续收到五六条验证码。其实在现实生活中,你们应该有的人也遇到过。同时收好几条验证码。那这个时候问一下大家,你说哪一条验证。通常疑问这个大家都说最后收到那一条,你就敢确定最后那一条就是你最近发的那一次请求的吗?其实我们也不确定为什么这样说,因为你之前同时发出去五六。哎,五六次请求。这五六次请求,哎,他很有可能走的线路不一样。
03:00
比如说你周接发出去这一次最先回来,或者是周杰发这一次最慢,他最后回来的。也有这种可能,那也就是意味着你用户手机收到这一条验证码,很有可能是中间的第二次,第三次发出去。然后哎,咱们通常来说。拿到,哎,我应该说最后一条。看一处发现不对。然后哎,是不是倒数第二条,咔一数又不对。那这个时候用户说过三次以后,如果说不对的话,他其实对你这个网站的这种态度已经发生了转变,说白了你很有可能因为这个事情丢失了一部分用户。导致你的用户体验特别差,那当然,哎,不想用你的。注册个会员,注册个账号都这么麻烦,算了吧。所以说那针对这种场景。哎,你得想一个方案去处理它,你一定要考虑网速差的情况,问你如何去处理,或者说直接给你提一个需求。
04:05
来,我现在讲一下这个需求,有这样一个需求。当用户点击获取验证码的时候,他去发请求。然后比如说两秒以内,它不能点击,让按钮通常是变暗。呃,按钮拖出备案,用户看到了,即使他让让他去点,但是我不去发请求了,两秒以后让这个按钮高亮显示,意味着用户可以再次点击。当用户点击多次的时候,我只需要我以最后那一条请求有效。其他的解救全部作废掉。这样的话,我可以保证用户只能收到一条验证码,而且是最近的一条。也是用户体验好。说白了就是你发一次请求的时候,我需要你把上一次请求请求给我干掉他。问,你有没有思路?啊,这就是一个案例,是一个大公司的面试体验。
05:05
首先,我刚说的场景大家懂了吗?说的场景懂了是吧,说的场景懂了以后,呃。先问一下大家,就是取消了这请求,你们知道用什么框吗?这就是我上午说的,如果说问你N詹姆斯不会说问你,哎,发送加斯请求怎么发?谁都会发。很有可能问你是怎么取消价请求,再有就是问你原生的价。那几步?有插htp request对象,然后去绑定一个UN接听啊,要注意哪些事情?还有个open,最后一步散,就是原生的。首先你要知道如何取消一个驾驶请求,告诉大家,那说明给你们之前发的文档你们没有看。呃。
06:03
这这个教程大家有吗?应该有,有的话你们往下看一下这个方法,这其实写的一清二楚。这个方法叫abor,哎,注意看后边这句话啊,他取消的是当前的请求,当次也就是。然后你可以点击它进来看。取消当庭请求。看文档要自己也要学会看它再看这这什么意思?谁去调用它看着啊,Ma http request对象,注意bird的方法是原生的这个对象的方法。这个对象其实大家接触过。对不对,哎,接触过。首先我们要知道,哎,这个对象贝尔的方法是他的方法,而且我们要知道他取消的是当前的请求。取消调用此方法后,当前请求返回的是on in it的状态。
07:03
201什么意思啊?In是初始化的意思,二呢,是一个否定的前缀,未初始化。这就看大家对原生的这个,呃,这样的理解。而哎,他有个ready state,表示他当前的状态。它一共分为几种状态,问一下他。一共几种?忘了。当然我们首先第一步,我先问一下大家第一步要干嘛,用原生的写。你刚刚看到这个。我是不是得拗他利用一个http request,我生成一个实例对象吗?当我初始化完这个对象的时候,我的ready其实已经有了,是零。对不对,就初始化嘛。
08:01
然后呢,什么时候由零变为一?忘了是吗?大家看一下这边家你在哪看这不是在这儿吗?第一步这不对象已经建立吗?然后这个一这个初始化啊,你看这说的是不是上未调用open方法,Open是干嘛的。当我们调用open方法的时候,通常第一个传的是get或者是post。也就是说,规定你请求的方式。而第二个参数是不是传给URL。URL是你要明确你发起球的地址。哎,他第一个说的稍微调用open,也就是说我这一步open方法已经确定了。那什么时候由一变为二呢?说白了就调用三呢,已经发出去了,我只知道发出去了。
09:00
它就自动变为二了。什么时候变为三,当你一旦接收到数据的时候,就变为三了,但是这个时候要强调一个事情,我只是接收到数据。但是我没有接收完毕。什么时候变为四呢?数据介绍完毕。而刚刚说了,调用bird方法返回的是未初始化的状态,其实告诉大家就是相当于是在这返回到哪了。未出手,我这个有点卡。这不是为初始化状态吗?说白了就是你的ready state状态等于零。答案忘了没关系啊,咱们学过隔的时间长了,你不接触肯定要忘,但是希望你们接下来要把这些摸透了,它看一看。好。
我来说两句