? ? ? ? 我作為一個. net后端開發(fā)人員,在公司現在莫名其妙成為了一個全棧,前端后臺數據庫發(fā)版本……
? ? ? ? 我心好塞……
? ? ? ? 懷念從前有前端開發(fā)人員的日子。我曾經擁有過一個如同教師般優(yōu)秀的前端伙伴,基本功扎實被济,問什么都能給我講原理,對各種語法標準如數家珍涧团,但是我沒有珍惜只磷,然后他跳槽了,失去他的那段日子泌绣,新來的前端人員……一言難盡喳瓣,我甚至覺得他水平可能還不如我……然后…我也走了…再然后…我連前端伙伴都沒有了……難過……
? ? ? ? 跑題了,最近遇到了一個問題赞别,說起來也簡單,但是我掃了一下網上的文章配乓,都一樣的內容發(fā)來發(fā)去有意思嗎你們…
? ? ? ? 好吧仿滔,我沒能get到解法惠毁,然后我又去請教了一下我的前端好伙伴,在他的幫助下崎页,把這個屎一樣的頁面搞好了鞠绰。
? ? ? ? 我要改的是一個店鋪編輯頁面,因為數據字段很多飒焦,下拉框也多蜈膨,聯動也多,有固定字段有動態(tài)生成牺荠,反正比較惡心翁巍,最惡心的是不是我寫的,我要去改個東西休雌,那幾千行的前端代碼…
? ? ? ? 因為所有后臺方法都是異步灶壶,前端用的promise也是異步(我不知道有沒有同步,怎么寫同步杈曲,我一直這么寫驰凛,沒有深入研究)。但是我這邊涉及到ABCD四個方法担扑,還有一大堆其它方法恰响,這四個方法什么關系呢,A方法中有一個結果被用來做D方法的判定要求涌献,BC方法必須在D方法之前執(zhí)行胚宦,頁面的某些展示才不會錯誤,但是因為異步洁奈,誰先誰后都不能保證间唉,導致有些用戶進去了,本來有權限的按鈕利术,變成了沒權限人家就很懵呈野,之前的開發(fā)人員用的解決方式是定時器,但是這種東西印叁,有一定的概率還是會失敗的被冒,這10次有一次失敗,演示的時候我碰上了轮蜕,我得多尷尬……
? ? ? ? 廢話好像太多了昨悼,上方法。
? ? ? ? 舉個例子方法太多占地方跃洛,公司代碼太復雜看起來心累率触,隨便寫三個ABC做參考。
? ? ? 頁面初始調用汇竭。
? ? ? 這樣子葱蝗,由上可見穴张,A的值在C里作為判斷條件,B的賦值在C里如果符合條件會被再次賦值两曼,而C要求是最后運行的方法皂甘。
? ? ? 自己沒搞出來,人家寫的沒看懂悼凑,遂去請教偿枕,得此解法,僅供參考户辫。
? ? ? 結果渐夸,看打印。
? ? ? ? 直接拼接圖寸莫,沒做捺萌,隨便看看。順序全看運氣膘茎,很隨機桃纯。
? ? ? ? 修改之后。
? ? ? ? 結果披坏。
? ? ? ? 歡迎你測一百遍~
? ? ? ? 如果你要問我原理态坦,那我可能答不上來,畢竟我是為了應急棒拂,我只知道這是es6語法升級時候出現的新的語法伞梯,利用異步操作函數aysnc(語法糖,這個后端也有)和await帚屉。從事和熱愛前端的好好研究吧谜诫,不過,我問了幾個前端攻旦,都沒有用過類似的方法喻旷,參考就好,就醬紫啦~~~