程序码流程规划之...日记文

今天,依然是篇日记文,每天遇到的事有太多好写了。

一早
同事:Mandy, 今天是 deadline 罗,做好了吗?
我:还差了 bala bala...
同事:有什麽需要协助的话,要快说哦
我:嗯...好 /images/emoticon/emoticon37.gif

接着继续处理未完的专案


情境

这次的情境是,表单里有包含着图片上传,机制是当表单需要
新增图片时,需要先将图档上传,得到後端给的图片 id 後再把这个 id 塞到表单里
更新图片时,把原有的图档 id 包含新的图档一起传送给後端,
删除图片时,就要把原有的图片 id 打到後端
以上这些动作都要先处理完,接着再一起更新表单

所以流程会是,先传送图片,等图片处理完後更新表单,再将表单送出。


实作

一开始我的程序码是这样写的

结果遇到了图片非同步问题,当我按 submit 後,每传完一张图片,就会打一次表单 api,
传了三次 表单送出就会打三次,这不是我要的RRRR /images/emoticon/emoticon04.gif


修改後

将程序码流程改这样

是我要的结果!但其实这样写下来 逻辑上有点复杂
但时程上有点赶,就先将 code 传到 gitlab 上


CodeReview

经过同事神一般的巧手,将程序码的流程改为如图所示,流程看起来清楚多了(心里充满感激)

actionngrx里的状态管理的一部份

combineLatest 为 rxjs 里的组合符
concatMapswitchMap 皆是 rxjs 里的 operators

concatMap 还有另外处理逻辑(crud)流程


後记

今天,主要的记事是对程序码的流程规画,所以没有实作面
这次也学到了concatMap的处理方式
(看了很多次 还没实际使用过,所以一开始在使用时,对concatMap的流向有所误解)

这天在回家的路上,火车坐过头,连 ubike 也骑超过站点忘了要还车 QQ
一定是我太累惹 囧~~


<<:  Day03 - 个体、对象以及状态

>>:  Day03 建立一个 React 专案

Day18-Go错误处理(上)

前言 在执行程序时,遇到系统错误或是网路异常是无可避免的,这时我们可能印出错误讯息并且让程序中断。 ...

#3-打字特效炫起来!(CSS Animation)

昨天的第三个按钮动态提案:文章传送门 使用了CSS动态的动态的主菜——Animation。 其实有很...

为你自己学 Laravel - Day 30 使用心得

嘿~~ 各位好,我是菜市场阿龙! Youtube 频道:https://www.youtube.co...

【领域展开 16 式】 认识 30% Soledad 建议安装的 plugin

人心是善变的,今天又想先看看其他东西 昨天简单换上几个设定之後,今天临机一动想要来看看前几天在安装 ...

Day10:程序码编辑器的实用扩充套件(2)

一、前言   上一篇文章介绍了 VSCode 好用的快捷键,此篇开始介绍其他扩充之实用功能罗。没意外...