亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - Nodejs服務(wù)器中 應(yīng)該何時res.end()呢?

瀏覽:98日期:2023-09-11 08:43:38

問題描述

有這樣的一個場景 ’/blog’ 路由下要處理用戶提交的數(shù)據(jù)假設(shè)要把三份數(shù)據(jù)存儲給三個key 然后代碼寫出來就變成這樣

function handlePostBlog(req, res){ resid_client.set( key1, data1, function(err, response){resid_client.set(key2, data2, function(err,response){ resid_client.set(key3, data3, function(err, response){if(response === ’ok’){ res.writeHead(200, ...) res.end()} })}) })}

不考慮好不好看。。雖然用promise包裝的好看一些 但是在最后一個回調(diào)中res.end()來關(guān)閉連接,是不是存在問題?這個請求會被掛起很長一段時間把?一般這種地方應(yīng)該怎么處理?因為只需要set而不需要返回結(jié)果給用戶,所以收到請求之后就直接res.end()來關(guān)閉連接可以不?

問題解答

回答1:

這取決于你是否希望這個 HTTP 請求的返回結(jié)果與數(shù)據(jù)庫操作的結(jié)果有關(guān)聯(lián)性,以及用戶交互設(shè)計是否容忍這個操作所花費的時間。

你在設(shè)計這個 ’/blog’ 接口時,需要明確指明 HTTP 返回 200 意味著什么。如果你們的業(yè)務(wù)場景只關(guān)心數(shù)據(jù)交付到后端,不關(guān)心后端是否正確存儲到數(shù)據(jù)庫,那肯定可以直接結(jié)束掉 HTTP 請求。如果你們希望終端用戶得到這個確切的提交結(jié)果,那需要考慮交互層面了,設(shè)計良好的交互效果,2-6秒的等待,用戶體驗不會很差(指AJAX請求場景下,打開新頁面場景下還是慎重)。寫三次redis幾乎是不花時間,比起 HTTP 請求本身的鏈路延遲根本不算什么。

具體業(yè)務(wù)場景還要具體分析。碰到特別耗時的操作,前端提交操作請求后輪訓(xùn)結(jié)果也不失為一種解決方案。

回答2:

看頁面顯示和數(shù)據(jù)庫操作結(jié)果有沒有相關(guān)性。如果有相關(guān)性,可以等待數(shù)據(jù)庫操作結(jié)束之后返回。也可以做成異步隊列的方式直接返回,成功后在推送結(jié)果。最終怎么樣,還是看你需求。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 在线欧美69v免费观看视频 | 精品国产免费第一区二区 | 国产在线一区二区视频 | 国产精品免费播放 | 中文永久免费看电视网站入口 | 中文字幕在线播放视频 | 大尺度一级毛片波多野结衣 | 一区二区三区网站在线免费线观看 | 99视频九九精品视频在线观看 | 欧美成人久久 | 婷婷射| 亚洲国产综合视频 | 中国特黄毛片 | 国产三级毛片 | 五月天婷婷激情网 | 欧美乱妇欲仙欲死视频免费 | 久久久久女人精品毛片九一 | 国语高清精品一区二区三区 | 亚洲福利小视频 | 屁屁影院一区二区三区 | 亚洲精品一区二区三区婷婷月 | 欧美一区二区视频三区 | 国产喷水视频 | 欧美黄色录像 | 看黄网站在线观看 | 国产五月色婷婷六月丁香视频 | 亚洲欧美日韩中文综合在线不卡 | 国产女主播一区二区在线观看 | 久久人体做爰大胆 | 国产成人刺激视频在线观看 | 92精品国产自产在线观看48页 | 成人免费在线视频网站 | 亚洲永久精品免费www52zcm男男 | 国内自拍视频在线看免费观看 | 久久亚洲综合色 | 亚洲精品自拍 | 久久久国产精品网站 | 国产福利一区二区三区 | 在线观看香蕉免费啪在线观看 | 乡下女色又黄一级毛片 | 免费一级黄色大片 |