宜搭数据源的代码是前端执行的,如果你的代码执行时间较长,用户在代码执行到一半的时候就刷新的页面或者退出了页面,那么剩下的代码将不会执行。
所以涉及到更新的代码,特别是多处更新的代码,很容易在执行完前几条的时候,用户关闭了页面导致整体代码的统一性失效。
正确的做法是:让所有更新的代码集中在最后,将请求发送到自己的服务器或者是faas服务器执行,因为后端服务器可以保证所有代码一起执行。
最好的结构是:
function(){
//在什么条件下拒绝条件
//数据处理
//所有表单同步在后台更新
//页面渲染
}
这样子如果在数据处理阶段刷新时,表单不会更新,那就等于用户没点击,如果在更新阶段刷新时,由于是后台更新,后台无论如何都会把所有更新代码执行完,那么就算是刷新了,结果还是已经更新好的。(但有一个小bug就是,有可能后台执行的比较慢,用户刷新完后呈现的状态是更新之前的,可能会导致一些显示或者上传状态出现bug)