问题描述
我不确定我是否100%处于等待和承诺链中,但是我一生无法理解为什么每次尝试将数据传递给httpsCallable函数时,都会得到“超出最大调用堆栈大小”的信息错误而没有调用该函数。
我只是想将从 signInWithEmailAndPassword 返回的用户对象传递给我的 httpsCallable ,但无法弄清楚如何避免出现上述错误。任何指针赞赏
const importFirebase = () => import(process.env.VUE_APP_MODE === 'web' ?
'firebase' : 'nativescript-plugin-firebase/app')
const firebase = await importFirebase()
firebase
.auth()
.signInWithEmailAndPassword(signInData.email,signInData.password)
.then((user) => {
return firebase.functions().httpsCallable('doSomething')(user)
})
解决方法
该错误通常表示您正在尝试使用内部循环引用序列化对象。您应该尝试的第一件事是除user
以外的任何对象。然后,尝试根据从user
中提取的内容来组成对象。只是不要传递user
本身,因为以默认方式进行序列化可能并不安全。