我已經被這個錯誤困擾了一段時間,但仍然無法找出根源。我正在從客戶端(javascript)調用 firebase 函數,但 firebase 函數端拋出最大調用堆棧錯誤。這是我的代碼exports.signInCart = functions.https.onCall(async (data, context) => { console.log(data) const sessionID = data.sessionID console.log("session id ", sessionID) const shopIntentRef = admin.database().ref('/shopIntent/'+ sessionID) try{ shopIntentRef.once("value", (snapshot)=> { if(!snapshot.val()){ console.log("not recognized ") return "NA" } if(snapshot.val()){ admin.database().ref('/shopintent/'+ sessionID+'/').update(data); return (snapshot.val()); } }); }catch(ex){ console.log('ex /updateCoords = '+ex); } return shopIntentRef.once("value")})我嘗試了幾種不同的方法;我認為我應該能夠在沒有最后一個 return 語句的情況下獲得一些值,并且我確實得到了返回狀態代碼 200 但沒有返回 snapshot.val() 。當我添加最后一個 return 語句時,它開始在 firebase 函數控制臺中生成此錯誤Unhandled error RangeError: Maximum call stack size exceededat Object (<anonymous>)at /workspace/node_modules/lodash/lodash.js:1198:19at baseKeys (/workspace/node_modules/lodash/lodash.js:3484:16)at keys (/workspace/node_modules/lodash/lodash.js:13333:60)at /workspace/node_modules/lodash/lodash.js:4920:21at baseForOwn (/workspace/node_modules/lodash/lodash.js:2990:24)at Function.mapValues (/workspace/node_modules/lodash/lodash.js:13426:7)at encode (/workspace/node_modules/firebase-functions/lib/providers/https.js:184:18)at /workspace/node_modules/lodash/lodash.js:13427:38at /workspace/node_modules/lodash/lodash.js:4925:15 下午 5:41:07.909我該如何解決上述錯誤?
firebase函數未處理的錯誤RangeError:超出最大調用堆棧大小
繁花如伊
2023-08-24 10:34:18