首页 > 解决方案 > 使用 REST API 调用更新应用程序

问题描述

我的问题实际上更多的是需要一些关于如何解决这个问题的想法。我有一个内置于 iOS 和 Android 的购物应用程序。将商品添加到购物车后,会有一个购物车视图(iOS 中的 TableViewController 和 Android 中的 Recycler View),用户可以在其中通过减号或加号按钮更改购物车中每个商品的数量。每次点击其中一个按钮时,它都会向我们的服务器调用一个 REST API 来更改服务器上的数量,并且 API 会以新的数量进行响应,我用它来更新屏幕。

问题:我们有一个要求,如果数量为 1 并且用户点击减号按钮,我们会弹出一条消息:您确定吗?将数量更改为 0 将从购物车中删除该商品。

问题是,如果数量大于 1 并且用户足够快地点击按钮,他们实际上可以在 API 调用赶上以足够快地更新屏幕之前让数量下降到 0 甚至 -1,所以他们可以有效地传递信息。

我试过:每次 API 响应时检查数量,这确实告诉我数量何时为零,但为时已晚,此时服务器上的数量已经设置为零。

我们目前设置了 API 调用,以便它们排队,以便如果用户想要点击按钮几次,他们可以这样做并继续,一旦 API 响应返回,应用程序就会赶上。

关于如何防止用户点击减号按钮的任何想法?

感谢您提供的任何帮助或想法。

标签: androidios

解决方案


您可以在用户按下该按钮时禁用或隐藏该按钮,并在您获得 api 响应时启用/显示该按钮。通过这个用户将能够一次按下一个按钮,并且按钮的下一次触发将在先前调用的 api 的响应之后完成。只要确保你有类似加载器的东西,这样用户就不会卡在那个屏幕上,直到用户得到响应。


推荐阅读