Firebase .httpsCallable函数始终返回“超出最大调用堆栈大小”

问题描述

我不确定我是否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本身,因为以默认方式进行序列化可能并不安全。