第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

節(jié)點(diǎn) js 中未處理的承諾拒絕錯(cuò)誤

節(jié)點(diǎn) js 中未處理的承諾拒絕錯(cuò)誤

繁花不似錦 2023-06-09 10:53:04
執(zhí)行組合查詢時(shí)出錯(cuò)我正在使用 sequelize 和 mysql這是我的代碼:const makeAuthenticate = async (req, res) => {  const newOtp = Math.floor(100000 + Math.random() * 900000);  try {    const {phone} = req.body;        const [user, created] = await db.User.findOrCreate({      where: { phone: phone },    })      .then(e => {         db.User.update({ otp: newOtp }, {          where: {            phone: phone          }})            .then(f => res.status(200).json({              otp: newOtp            }))            .catch(err => res.status(500).json({error: err})) // Error comes from here !      })      .catch(err => res.status(500).json({error: err}))   } catch (error) {    return res.status(500).json({error: error.message})  }}這是我對(duì)代碼所做的事情:基本上,我在單個(gè)查詢中同時(shí)進(jìn)行注冊(cè)和登錄,換句話說,首先使用 findOrCreate - 我找到用戶或者我將創(chuàng)建一個(gè)新用戶,然后我需要發(fā)送一次密碼(這是臨時(shí)的 6 位數(shù)字“)他們?cè)诹鞒讨惺褂玫碾娫捥?hào)碼。所以,我正在將 otp 更新到我的用戶表,然后我需要添加調(diào)用以向用戶發(fā)送 SMS(我還沒有這樣做)所以現(xiàn)在處于 findOrCreate 階段并再次調(diào)用特定的更新用戶。通過這個(gè)我得到一個(gè)錯(cuò)誤如下:UnhandledPromiseRejectionWarning: Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
查看完整描述

1 回答

?
烙印99

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊

嘗試這樣的事情


const makeAuthenticate = async (req, res) => {

  const newOtp = Math.floor(100000 + Math.random() * 900000)

  const {phone} = req.body

  

  try {

    const [user, created] = await db.User.findOrCreate({

      where: { phone: phone }

    })


    const updatedRes = await db.User.update({ otp: newOtp }, { where: { phone: phone }})


    res.status(200).json({

      otp: newOtp

    })

  } catch(e) {

    res.status(500).json({error: err})

  }

}

沒有必要嵌套承諾,.then()你可以只使用awaitsince Sequelizeuses 承諾。


您的代碼的主要問題是您.catch()在內(nèi)部使用try catch并且他們都試圖在失敗時(shí)發(fā)送狀態(tài)。因此,很可能您的問題出在其他地方,但這是副作用,當(dāng)您運(yùn)行我的代碼時(shí),您應(yīng)該會(huì)看到真正的問題(如果存在)。


查看完整回答
反對(duì) 回復(fù) 2023-06-09
  • 1 回答
  • 0 關(guān)注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)