看了下,他贴的代码证明不了什么,也并没有什么问题,相反 Twitch 这位估计对代码的理解还在小学生水平
评论里有人发了这个微博
1. Phil Williams 对代码的理解为什么是错的
上面代码中是用户访问活动页面时候执行的, 但是根据不同访问时刻,执行不同的分支, 代码中 setStatus() 有三个分支, “该场次未开始”, “该场次进行中”, “该场次结束”, 而 v.is_cos 是页面里自带的变量, 表示访问页面时库存是否为空, false 表示有库存, true 表示没库存. “该场次未开始” 时用户访问页面等待秒杀, 此时用户页面里 v.is_cos=false, 表示有库存, 此时用户能参与活动, 肯定不会显示 Out of Stock. “该场次进行中”时用户访问页面,此时 v.is_cos=false, 也不会显示 Out of Stock, v.is_cos=true 表示没库存, 显示 Out of Stock, 不能秒杀也是完全正确的,不用发送额外网络请求。Phil Williams 以为必须单独发送一个请求, 再调用 setStatus()更新按钮和文字, 这个理解是错误的。Phil Williams 对代码的理解根本就是错的
2. Phil Williams 抓取的网络请求的方法也是错的
Phil Williams 的网络请求, 也是错的, 他根本没有显示点击”秒杀”按钮时的请求, 只有一个可能,就是他是活动开始以后, 已经没有库存的时候抓取的. 这个时候, 根本不需要另外发请求到小米服务器查库存, 因为在他访问页面里面已经随着一个变量 v.is_cos=true 让页面正常的显示文字 Out of Stock 了. 如果正常的活动前打开页面的用户, 可以点击秒杀按钮, 此时, 用他的工具, 是会发现有一个网络请求发到小米服务器参与秒杀的。
摘自微博:
https://weibo.com/ttarticle/p/show?id=2309404307029442298271