SO中文参考
首页
(current)
程序语言
c
java
python
c++
go
javascript
swift
c#
操作系统
linux
ubuntu
centos
unix
数据库
oracle
mysql
mongodb
postgresql
框架
node.js
angular
react-native
avalon
django
twisted
hadoop
.net
移动开发
android
ios
搜索
异步操作和用户体验
问题描述
投票:0
回答:0
问题
有时用户执行的某些操作是异步的。这意味着后端无法在同一请求中响应成功或异常。
目前,我们仅在异步过程完成后才会反映更改
但从用户的角度来看,他采取了行动,但并没有反映在应用程序中。尽管最终它会发生。感觉像是一个问题或错误。
通常,当我们进行一些第三方交互时,就会发生这种异步操作。我们需要调用 API 并等待响应。
如何给用户即时反馈
我们如何处理异常情况?
示例用例
直接交付应用程序,我们与第三方集成来管理菜单列表。
作为商店经理我需要更新菜单项。
通过管理用户界面进行更改
保存更改后,管理员将调用我们的后端,后端将在内部进行大量的 api 调用以反映第 3 方菜单中的更改。
解决方案
立即更新数据库中的状态 - 如果更改未能反映在第 3 方 API 上,则恢复到旧状态。在 UI 中将其显示为正在进行更改的通知。如果失败,请在通知中显示状态。
创建状态列 - 因为每个菜单项都在更新。我们可以添加一个状态列,显示项目相对于第 3 方的状态。像 has_changes、同步、异常等
需要一种对用户来说简单且易于实施的方法
reactjs
api
user-interface
asynchronous
最新问题
线性回归 R 平方调整
openssl 函数 - d2i_PublicKey 和 d2i_PUBKEY 之间有什么区别以及哪些场景决定应使用哪个?
Angular5 - 动态设置 div 容器的颜色
根据单元格中的值创建/显示行
使用 use client 时,如何在 nextjs 15 中为用户个人资料页面创建动态元数据
从日期时间字符串的平面数组中删除时间表达式
没有 Android WRITE_EXTERNAL_STORAGE 权限,但已授予 ALL_FILE_ACCESS?
使用组合 API 的 Vue3 组件未在生产中渲染
yellowbrick 实现错误 - AttributeError:“LogisticRegression”对象没有属性“fig”
如何使用 roblox auth api 使用用户名和密码进行用户登录
验证字符串中是否存在多词短语
Vercel 推送错误:@prisma/client 尚未初始化。请运行“prismagenerate”并尝试再次导入
如何替换iOS应用程序中过时的ADClient requestAttributionDetails?
如何在我的 Expo Native 中获取新的 React Native 架构?
如何在 NASM 中调用全局 C 函数指针而不出现警告?
创建 data/db/ 后,mongodb 中的旧集合未显示
Python 行为测试失败,但代码可以自行工作
通过 conda 安装时的 Python 包错误
没有“com...”类型的合格 bean 可用:预计至少有 1 个有资格作为自动装配候选者的 bean。依赖注释:{}
Kafka中如何进行持续消费?
© www.soinside.com 2019 - 2024. All rights reserved.