javascript - [Vue 警告] : Error in v-on handler: "TypeError: Object(...)(...).httpsCallable(...).then is not a function"

标签 javascript firebase vue.js vuejs2 google-cloud-functions

我正在尝试从我的 Vue 应用程序调用这个 firebase 云函数

exports.sayHi = functions.https.onCall((data, context) =>{
  return "hi";
});

这是我在店里的 Action

import {
  getFirebaseDB,
  getFirebaseFunctions,
} from "../../helpers/firebase/authUtils";

reserveApt() {
    getFirebaseFunctions()
      .httpsCallable("sayHi")
      .then((result) => {
        console.log(result);
      });
  },

这是我在 ../../helpers/firebase/authUtils 中的辅助函数:

import firebase from "firebase/app";
import "firebase/auth";
import "firebase/firestore";
import "firebase/functions";

/**
 * Initilize the backend
 * @param {*} config
 */
const initFirebaseBackend = (config) => {
  if (!_fireBaseBackend) {
    _fireBaseBackend = new FirebaseAuthBackend(config);
    _db = firebase.firestore();
    _functions = firebase.functions();
  }
  return _fireBaseBackend;
};


/**
 * Returns the firebase backend
 */
const getFirebaseBackend = () => {
  return _fireBaseBackend;
};


/**
 * returns firestore db
 */
const getFirebaseDB = () => {
  if (!_db) {
    _db = firebase.firestore();
  }
  return _db;
};


/**
 * returns firebase functions
 */
const getFirebaseFunctions = () => {
  if (!_functions) {
    _functions = firebase.functions();
  }
  return _functions;
};


export {
  initFirebaseBackend,
  getFirebaseBackend,
  getFirebaseDB,
  getFirebaseFunctions,
};

Firebase 已正确初始化,所有其他功能(如 auth 和 firestore)都可以正常工作,但是当我调用它时出现此错误:

[Vue warn]: Error in v-on handler: "TypeError: Object(...)(...).httpsCallable(...).then is not a function"

found in

---> <Properties> at src/views/pages/property/properties.vue
       <App> at src/App.vue
         <Root>

最佳答案

显然问题出在调用函数上。我不得不这样调用它:

var reserve = getFirebaseFunctions().httpsCallable("sayHi");
    reserve().then((result) => {
      console.log(result);
    });

但我不确定为什么!!

关于javascript - [Vue 警告] : Error in v-on handler: "TypeError: Object(...)(...).httpsCallable(...).then is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69601773/

相关文章:

layout - Nuxt.js - 如何在布局中使用布局

javascript - Firebase存储,将图像检索到vue应用

javascript - Bootstrap 验证冲突

javascript - 循环遍历 JQuery Id

javascript - 在 jQuery 中使用 .hide() 和 .show()

firebase - 如何使用获取的数据刷新 View - Firestore 和 SwiftUI

firebase - 有没有办法让三元运算符适用于 Cloud Firestore 安全规则?

javascript - 如何在没有内联脚本的情况下实现 google reCaptcha?

javascript - 如何从 iWebkit 自动触发弹出对话框?

swift - 有什么方法可以获取 firebase 请求的状态?