一:背景介绍
本篇博客书写的意义是警示大家不必把不必要的逻辑放到前端。
明确前后端分离的意义。
背景
下面的主要逻辑是:
1、章节推送页面,查询三个执行的章节颗粒会调用后端接口保存规则到redis中。
2、当章节颗粒执行的倒计时进入10时,前端在调用后端接口获取该章节颗粒的激励配置,返回给前端。
3、颗粒结束后判断是否配置发送调查问卷,如果配置了,就直接调用后端发送调查文件接口发送问卷,如果没有配置就继续该流程,执行下一个章节颗粒。
二:思路&方案
重大问题:
1、前端写了多重循环
2、不必要的逻辑放到前端进行处理,导致逻辑难以维护。
解决办法
1、取消不必要的循环,在流程图上去除循环,没有必要进行调用。
2、将计时器放到后端:在后端进行倒计时到十秒的时候调用获取激励规则,计时器到零秒时发送调查问卷。这样的话减少了前端的逻辑判断,将逻辑放入到后端进行。并且减少了入口。
优点:
1、单入单出,方便维护。
2、职责分明,前端主要进行界面渲染工作,后端进行逻辑处理。
三:总结
边界清晰
1、后端是处理业务的,前端是渲染界面的。明确职责才能干事。
2、对于一个功能模块来说前端调用后端的次数越少越好,减少前端的循环调用后端的接口进行复杂的逻辑处理。