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

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

在 forEach 循環中拋出錯誤對象不會影響鏈

在 forEach 循環中拋出錯誤對象不會影響鏈

胡說叔叔 2023-03-03 16:17:34
我有一個錯誤...如果某些東西已經存在,我想檢查 firebase 的數據庫,否則轉到錯誤捕獲鏈。但我找不到錯誤。const ref = admin.database().ref(`/users/${uid}/programs/${program}/`)    ref.once('value', snap => {      if (snap.val() !== null) {        const registered = Object.values(snap.val());        const kids = Object.keys(registered[0].registered);        kids.forEach(kid => {          if (children.includes(kid)) {            throw new Error('already registered')          }        })      }    }).then(() => { ... set to db不管它發生了什么,然后去趕上。
查看完整描述

1 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

不要在異步回調中拋出錯誤,就像您傳遞給once. 僅將它們放入承諾回調中:


const ref = admin.database().ref(`/users/${uid}/programs/${program}/`);

ref.once('value').then(snap => {

//               ^^^^^

  if (snap.val() !== null) {

    const registered = Object.values(snap.val());

    const kids = Object.keys(registered[0].registered);

    kids.forEach(kid => {

      if (children.includes(kid)) {

        throw new Error('already registered')

      }

    })

  }

  // ... set to db

}).catch(err => {

  // ...

});


查看完整回答
反對 回復 2023-03-03
  • 1 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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