找回密码
 立即注册

QQ登录

只需一步,快速开始

willning
超级版主   /  发表于:2022-11-9 17:07  /   查看:3033  /  回复:0
本帖最后由 willning 于 2022-11-9 17:09 编辑

在前端的“调用服务端命令”命令中,您可以通过启用高级选项中的【异步发送请求】,让服务端命令的执行不会阻断用户当前操作。这种做法通常应用于批量处理等时间较长的业务操作。这是常规操作。

image.png425057982.png

在目前版本的“调用服务端命令”命令并不支持设置回调命令。那么,我们该如何及时通知当前用户,服务端的操作已经完成了呢?这个时候,我们就需要祭出活字格V8.0 Update 1新增的“服务端通知”功能了。

活字格的服务端通知基于WebSocket技术的,可以用来开发服务端向前端推送消息的功能。所以,我们只需要在调用服务端命令前订阅服务端通知,在收到该服务端命令处理完成的通知后,提取处理结果,提示给用户就好了。

不多说了,展示!
1. 为需要支持回调的服务端命令创建一个服务端通知,用参数来存储服务端命令中业务逻辑的执行结果
image.png20574339.png
2. 在服务端命令中,先利用【设置变量命令】创建一个当前请求的唯一标识,最简单的方法就是使用时间戳+随机数
image.png699416808.png
3. 然后使用服务端通知的【加入组】命令,将当前用户会话加入名为上一步唯一标识的组中
image.png610713195.png
4. 在业务逻辑执行完成后,使用【发送服务端通知】命令,给名为本次请求唯一标识的组发送通知,在通知的参数中存放需要发还给客户端的处理结果数据
image.png641076659.png
5. 调用服务端通知的【离开组】命令,推出刚才创建的组。当组里最后一个会话退出时,活字格会自动删除该组,以免浪费资源
image.png991510314.png
6. 在前端调用该服务端命令前,先使用【订阅服务端通知命令】订阅第一步中创建的服务端通知,在子命令中做回调处理,如利用EL-通知命令给用户提示
image.png595304870.png
7. 调用服务端命令,勾选【异步发送请求】即可
image.png436387633.png

完整的Demo在这里,请随意取用:
异步调用DEMO.fgcc (1.07 MB, 下载次数: 322)

评分

参与人数 1满意度 +5 收起 理由
guoqp + 5

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部