这里的那个乘客退出,再进入的时候重新计时,这里的处理感觉有点问题
来源:5-4 订单微服务,乘客端加载执行的订单(一)

慕前端6366832
2023-01-26
如果乘客退出再进入的时候重新计时,那么等到缓存删除,status返回0,那么重新进入之后乘客在create_order.vue页面的时间不久白等了吗?有没有什么获取时间的好方法,比如说倒计时这里的数据是从后端给前端的呢?如果要这样子做,那要怎么实现呢?
写回答
1回答
-
神思者
2023-01-26
这个问题我权衡过利弊,最终还是选择了现在的方案。你仔细想想,如果乘客等待了1分钟没有司机接单,然后关闭了小程序,5分钟之后又打开了小程序,看看有没有司机接单。那么应该是从1分钟开始继续计时,还是从6分钟开始计时。理所应当应该继续从1分钟开始计时。但是为了能实现这个功能有多难,你可能想不到。首先小程序过阵子不用,就会被微信自动关闭,所以不可以用缓存记录定时时间。如果让后端记住乘客离开小程序的时间,势必要在小程序onClose()函数中提交Ajax请求。如果用户的手机突然司机了或者微信闪退了,根本不会触发这个回调函数,那么你怎么才能让后端记住这个退出时间?还有就是即便触发了这个回调函数,但是突然手机没信号了,Ajax发布出去怎么办?为了实现一个功能,反而要面对很多难以解决的问题,你会怎么取舍?
112023-10-11
相似问题