国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

javascript - async如此使用可以嗎?

瀏覽:116日期:2023-04-21 16:17:16

問題描述

最近看了一些文章開始使用async處理異步代碼,使用著比以前的異步回調好用的多,可是發現我的書寫方法好像有問題,貼出來,大家幫我指正一下....

(async function(){ let username = req.body.username; let password = req.body.password; // 查找當前用戶名是否已經注冊(返回值為數組,沒有結果則為空數組,長度為0) let userIsRegisted = await user.findByName(username); // 因為用戶名的唯一性,可以使用==1或者!=0兩種方式判斷 if(userIsRegisted.length!=0){res.send(’當前用戶已注冊’);return; } // 密碼加密 let hashPassword = crypto.createHash(’sha1’).update(password).digest(’hex’); let obj = {username:username,password:hashPassword } // 添加新用戶 await user.create(obj); // 設置session req.session.username=username; req.session.loged = true; res.send(’注冊成功’); })();

先不管寫的邏輯了,就是這種調用方法對嗎?總感覺需要寫一個立即執行函數好怪.....

問題解答

回答1:

如果沒有聲明該匿名函數為async,就不覺的這種寫法奇怪。由于該匿名函數中使用了await調用了另一個函數,所以必須聲明為async,否則編譯報錯??梢灾苯酉駱侵鲗懙倪@樣立即執行。不過更建議給該匿名函數聲明一個函數名,異步調用方式調用該函數。

回答2:

多用try catch,另外不是很清楚你這里為什么要包一個立即執行函數。給async的函數定義名稱。后續不就可以自定義調用了

回答3:

一般這么用 是沒問題的。async函數用await調用時,從主函數程立即返回,等async函數結束時,再繼續執行主函數。 如果不用await, 主函數會執行完畢。同時async函數會異步的執行。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 一区二区三区不卡在线观看 | 久草勉费视频 | 久久精品欧美日韩精品 | 18videosex性欧美69超高清 | 成人黄色在线免费观看 | 毛片视频在线免费观看 | 久草视频2 | 高清国产美女一级a毛片录 高清国产亚洲va精品 | 免费一级欧美片在线观免看 | 日韩一区二区精品久久高清 | 黄色成人免费观看 | 欧日韩美香蕉在线观看 | 国产成人在线免费观看 | 男吃女下面刺激视频免费 | 视频一区视频二区在线观看 | 日本九九视频 | 成人永久免费视频网站在线观看 | 中文字幕在线观看网址 | 免费在线成人网 | 一本色道久久88亚洲精品综合 | 午夜影院福利社 | 久草三级| 日本高清色本在线www游戏 | 丁香伊人五月综合激激激 | 久久国产一区二区三区 | 美女黄视频在线 | 99爱视频在线 | 四虎免费大片aⅴ入口 | wwwxxx欧美| 国产看色免费 | 在线播放国产一区二区三区 | 色偷偷成人网免费视频男人的天堂 | 九九热视频在线播放 | 92看片淫黄大片一级 | 一级特黄aaa大片在 一级特黄aaa大片在线观看 | 亚洲国产欧美一区二区欧美 | 一级片在线播放 | 欧美一级视频高清片 | 久久夜色精品国产 | 国产视频自拍偷拍 | 99热久久免费精品首页 |