亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

async如此使用可以嗎?

async如此使用可以嗎?

MMTTMM 2018-11-30 19:14:38
最近看了一些文章開始使用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 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

如果沒有聲明該匿名函數為async,就不覺的這種寫法奇怪。由于該匿名函數中使用了await調用了另一個函數,所以必須聲明為async,否則編譯報錯。可以直接像樓主寫的這樣立即執行。不過更建議給該匿名函數聲明一個函數名,異步調用方式調用該函數。


查看完整回答
反對 回復 2018-12-28
  • 1 回答
  • 0 關注
  • 480 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號