[Vue 警告]:v-on 处理程序中的错误:“TypeError: Object(...)(...).httpsCallable(...).then 不是函数”
Posted
技术标签:
【中文标题】[Vue 警告]:v-on 处理程序中的错误:“TypeError: Object(...)(...).httpsCallable(...).then 不是函数”【英文标题】:[Vue warn]: Error in v-on handler: "TypeError: Object(...)(...).httpsCallable(...).then is not a function" 【发布时间】:2021-12-04 15:57:30 【问题描述】:我正在尝试从我的 Vue 应用程序调用这个 firebase 云函数
exports.sayHi = functions.https.onCall((data, context) =>
return "hi";
);
这是我在店里的动作
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>
【问题讨论】:
你可以试试这个solution 谢谢@AlanOmar 我刚刚想通了。但我不确定为什么这是解决方案。直接调用它似乎是合理的。 【参考方案1】:显然问题在于调用函数。我不得不这样称呼它:
var reserve = getFirebaseFunctions().httpsCallable("sayHi");
reserve().then((result) =>
console.log(result);
);
但我不知道为什么!!
【讨论】:
以上是关于[Vue 警告]:v-on 处理程序中的错误:“TypeError: Object(...)(...).httpsCallable(...).then 不是函数”的主要内容,如果未能解决你的问题,请参考以下文章
[Vue 警告]:v-on 处理程序中的错误:“TypeError: Object(...)(...).httpsCallable(...).then 不是函数”
无法绑定 v-on:单击 Vuetify [Vue 警告]:v-on 处理程序中的错误:“TypeError:handler.apply 不是函数”
错误:“v-on 处理程序中的错误:“TypeError:this.filter 未定义”在 vue 中的列表呈现中?