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

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

javascript - async如此使用可以嗎?

瀏覽:85日期: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
相關文章:
主站蜘蛛池模板: 韩国黄色一级毛片 | 国产精品久久久久久久午夜片 | 瑟瑟网站在线观看 | 尤物视频在线观看视频 | 91久久国产情侣真实对白 | 男女一级做片a性视频 | 日韩2区 | 日本黄色大片免费 | 丁香五月网久久综合 | 国产精品高清视亚洲乱码 | 久久久久国产视频 | 免费人成网站尤物在线观看 | www.麻豆.com | 国产美女精品自拍 | 一区二区视频在线观看 | 国产情侣真实露脸在线最新 | 麻豆精品视频 在线视频 | 国产真实一区二区三区 | 欧美国产永久免费看片 | 91久久亚洲最新一本 | 久久婷婷色一区二区三区 | jiz欧美高清| 外国三级毛片 | 亚洲伦理一区二区三区 | 欧美专区视频 | 国产高清在线精品一区 | 欧美一区二区三区视频 | 高清欧美一区二区免费影视 | 打床炮视频在线观看免费 | 亚洲成人免费在线观看 | 女性无套免费网站在线看 | 成年女人毛片免费视频永久vip | 色综合网站国产麻豆 | 极品精品国产超清自在线观看 | 成年片免费网址网站 | 国产一级免费在线观看 | 亚洲永久| 亚洲欧美日韩在线中文一 | 国产精品入口麻豆 | 精品国产一区二区三区四 | 海天翼精品一区二区三区 |