android - 使用 REST API 调用更新应用程序
问题描述
我的问题实际上更多的是需要一些关于如何解决这个问题的想法。我有一个内置于 iOS 和 Android 的购物应用程序。将商品添加到购物车后,会有一个购物车视图(iOS 中的 TableViewController 和 Android 中的 Recycler View),用户可以在其中通过减号或加号按钮更改购物车中每个商品的数量。每次点击其中一个按钮时,它都会向我们的服务器调用一个 REST API 来更改服务器上的数量,并且 API 会以新的数量进行响应,我用它来更新屏幕。
问题:我们有一个要求,如果数量为 1 并且用户点击减号按钮,我们会弹出一条消息:您确定吗?将数量更改为 0 将从购物车中删除该商品。
问题是,如果数量大于 1 并且用户足够快地点击按钮,他们实际上可以在 API 调用赶上以足够快地更新屏幕之前让数量下降到 0 甚至 -1,所以他们可以有效地传递信息。
我试过:每次 API 响应时检查数量,这确实告诉我数量何时为零,但为时已晚,此时服务器上的数量已经设置为零。
我们目前设置了 API 调用,以便它们排队,以便如果用户想要点击按钮几次,他们可以这样做并继续,一旦 API 响应返回,应用程序就会赶上。
关于如何防止用户点击减号按钮的任何想法?
感谢您提供的任何帮助或想法。
解决方案
您可以在用户按下该按钮时禁用或隐藏该按钮,并在您获得 api 响应时启用/显示该按钮。通过这个用户将能够一次按下一个按钮,并且按钮的下一次触发将在先前调用的 api 的响应之后完成。只要确保你有类似加载器的东西,这样用户就不会卡在那个屏幕上,直到用户得到响应。
推荐阅读
- django - 如何将多个图像导入 Django 应用程序
- angular - 基于父输入属性的动态组件渲染?
- google-cloud-platform - 如何使用列表为 google_compute_security_policy 定义规则
- node.js - 如何在路由处理程序中接受纯文本
- java - Axis2:org.apache.axis2.classloader.BeanInfoCache.getCachedBeanInfo 中的线程阻塞
- javascript - 如何使用 Javascript 一次关闭同一个 div 类的每个实例
- java - GenericDAO 不会从数据库中删除
- html - 固定宽度的 div 在 td 内时的奇怪行为
- php - Dockerfile FROM vs Docker-compose IMAGE
- javascript - Codepen 在期望很少的项目时返回空数组