You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue调用Firebase可调用云函数报then is not a function错误如何解决?

报错原因

httpsCallable 是Firebase云函数客户端SDK提供的方法,它的返回值是可执行的云函数调用实例,并不是Promise对象,你直接对返回结果调用.then()自然会抛出类型错误。你需要先执行这个返回的调用实例,才会真正触发云函数请求并得到Promise对象。

解决方法

修改你的store中reserveApt的代码如下:

reserveApt() {
  // 第一步:获取云函数调用实例
  const callSayHi = getFirebaseFunctions().httpsCallable("sayHi");
  // 第二步:执行调用实例,触发云函数请求
  callSayHi()
    .then((result) => {
      // 云函数返回的内容存在result.data字段中
      console.log(result.data);
    })
    .catch((error) => {
      // 建议补充错误处理逻辑
      console.error("云函数调用失败", error);
    });
},

补充说明

如果你后续调用需要传参数,直接把参数对象传入调用实例即可:

callSayHi({ name: "测试用户", id: 123 })
  .then(result => console.log(result.data))

内容的提问来源于stack exchange,提问作者Hawkar Shwany

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 16:45:00