客户端可调用Firebase功能在部署到us-central1

时间:2018-08-09 16:35:01

标签: node.js firebase google-cloud-functions

客户端可调用Firebase函数失败,并显示“错误:由于格式不正确,无法读取数据。”部署到us-central1以外的地区(尝试过欧洲西部和亚洲)。

服务器代码

exports.getName = functions.region('europe-west1').https.onCall((data, context) => {
     return { name: "Testopoulos" };
});

客户代码React Native Firebase

const httpsCallableUserName = firebase.functions().httpsCallable('getName');

getUserName = () => {
    httpsCallableUserName()
    .then(({ data }) => {
        console.log(data.name);
    })
    .catch(httpsError => {
        console.log(httpsError); 
    })
  }

docs中有一条注释,内容是“ [当使用HTTP函数提供动态内容进行托管时,必须使用us-central1”,但是我只是将一个对象返回到前端React Native客户端而不使用Firebase托管。我阅读了有关该地区的其他文章,但我认为情况并非如此。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

根据documentation,“客户还可以指定一个区域,并且如果该函数在us-central1 以外的任何区域中运行,则必须这样做。”

如您所见(请参见上面的注释),必须使用以下方法完成

var functions = firebase.initializeApp(config).functions('europe-west1');