繁体   English   中英

Firebase 函数 Axios RangeError:超出最大调用堆栈大小

[英]Firebase Functions Axios RangeError: Maximum Call Stack Size Exceeded

我正在构建一个连接到商家网站并请求 PaymentIntent object 的 Firebase 云 function。

我正在通过 axios 提交 API 电话:

exports.getPaymentIntent = functions.https.onCall(async (data, context) => {
    // Initialise dependencies
    const axios = require('axios')
    const FormData = require('form-data')

    // Assemble payload
    let formData = new FormData()
    formData.append('amount', '10.99')
    ...

    try {
        const response = await axios.post('merchant.com/getPaymentIntent', formData, {
            headers: {
                'X-API-KEY': 'myPrivateKey'
            }
        })

        return response
    } catch (error) {
        return error
    }
})

当我运行 function 时,它崩溃并出现以下 axios 错误:

未处理的错误 RangeError:超出最大调用堆栈大小

我不知道为什么会这样。 从请求中删除标头也不会更改错误消息。

有什么我可以尝试解决这个问题吗?

我在这里找到了解决方案的几个答案。

我必须在请求中添加一个额外的 header(在X-API-KEY标头之上):

'Content-Type': multipart/form-data; boundary=${formData._boundary} 'Content-Type': multipart/form-data; boundary=${formData._boundary}

将其设置为multipart/form-data是行不通的,因此请确保包含边界。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM