做了個應用,裏面是有點讚的,我想這還不簡單,沒想到在組長的快速點擊下就出問題了。
就是如下的效果:
原先的想法及出現的問題
一開始我是覺得,點擊之後發起請求,將數據傳遞給後端,等數據再傳回來的時候就將讚的顏色變藍並將點贊數加1。然後取消點贊也是一樣的思路。
但是在快速點擊下,數字竟然開始出現負數
。
具體原因是什麼我也不是非常清楚,可以肯定的是請求速度跟不上導致的,並且應該跟ajax本身特性及js本身特性有關。
解決方法
後來我不採取在請求之後進行顏色改變及數量改變,而是在請求之前進行這些操作,就是beforesend。這下子就解決了該問題,數量不會再爲負了。
終極決絕方法
終極解決方法就是數量在後端進行增減並傳過來,這樣就不會有問題了,當然這跟數據庫的設計有關。