【问题标题】:Firebase callable function not receiving argumentsFirebase 可调用函数未接收参数
【发布时间】:2019-01-22 12:29:04
【问题描述】:

在 typescript 上实现一个简单的函数来调用 Firebase 可调用函数不起作用。 使用 firebase-tools@4.0.3 -g, firebase-functions@2.0.5, firebase@5.3.1

Firebase 可调用函数:

import * as functions from "firebase-functions";

exports.httpsOnCall = functions.https.onCall((data, context) => {
  console.log(data);
  return data;
});

部署正确

在webapp中调用函数:

const a = Firebase.functions.httpsCallable("httpsOnCall");
  a.call({ a: 1, b: "testing", c: true }).then(result => {
    console.log(result);
  });

Firebase 对象初始化:

import * as firebase from "firebase";

const config = {
  apiKey: "asdasdasd",
  authDomain: "APPNAME.firebaseapp.com",
  databaseURL: "https://APPNAME.firebaseio.com",
  projectId: "APPNAME",
  storageBucket: "APPNAME.appspot.com",
  messagingSenderId: "123456"
};
firebase.initializeApp(config);
const Firebase = {
   functions: firebase.functions()
}

来自 firebase 的日志:

null

来自 webapp 的日志:

{data: null}

即使填充了上下文变量,数据似乎也没有到达 httpsOnCall 函数。

【问题讨论】:

    标签: javascript typescript firebase google-cloud-functions


    【解决方案1】:

    不用a.call,只需调用带有参数的函数a,如下所示:

    const a = Firebase.functions.httpsCallable("httpsOnCall");
      a({ a: 1, b: "testing", c: true }).then(result => {
        console.log(result);
      });
    

    有关示例,请参阅 guide

    【讨论】:

    • 菜鸟错误。我看到了调用方法,立即认为这就是我要找的。非常感谢!
    【解决方案2】:
    //imports
    const firebase = require("firebase");
    require("firebase/functions");
    
    
    //call steatment
    const a = firebase.functions().httpsCallable('httpsOnCall');
            a({ a: 1, b: "testing", c: true })
                .then((result) => {
                    console.log(result);
                })
                .catch((error) => {
                    console.log(`error: ${JSON.stringify(error)}`);
            });
    

    【讨论】:

      猜你喜欢
      • 2014-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      • 2021-02-24
      • 1970-01-01
      • 2011-11-15
      相关资源
      最近更新 更多