无法从Firebase云函数中提取自定义错误消息

ctehm74n  于 2023-02-19  发布在  其他
关注(0)|答案(1)|浏览(102)

我有一个本地运行的firebase云函数,它是这样实现的

exports.verifyApp = functions.https.onRequest((req, res) => {
  const {ref} = req.query;
  // some business logic
  
  if( ref === "123") return res.status(200).json({message: "success"});
  return res.status(400).json({ error: "invalid-argument", message: "ref not provided" });

})

在前端,我这样调用cloud函数

import {
  getFunctions,
  httpsCallableFromURL,
} from "firebase/functions";

const verifyClaim = httpsCallableFromURL(
  getFunctions(),
  "http://localhost:5001/{placeholder}/us-central1/verifyApp?ref=23"
);

verifyClaim()
  .then((result) => {
    console.log(result);
  })
  .catch((error) => {
    console.log(error.code, error.message);
  });

我无法读取/解析从函数发送的自定义错误消息。.catch块只打印一般的firebase错误代码和消息,即invalid-argumentinternal。虽然我可以在网络选项卡中看到响应,但.catch似乎从未收到我从云函数发送的自定义错误消息。

bxgwgixi

bxgwgixi1#

您混淆了Callable Cloud FunctionsHTTP Cloud Functions
您的云函数代码对应于一个HTTP函数(functions.https.onRequest(...)),但前端中的代码调用一个可调用函数(const verifyClaim = httpsCallableFromURL(...))。
你应该调整其中一个,因为你的回答中分享的细节很少,很难建议你调整哪个。

相关问题