属性'send'在类型 'CallableContext' 上不存在



如果我尝试使用onRequest执行代码,这就是我遇到的问题,因为有人建议我尝试onCall,我会收到这个错误

类型"CallableContext"上不存在属性"send"。

这是使用的代码

import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin'
const express = require('express');
const cors = require('cors');
const docs = express();
docs.use(cors({ origin: true }));

admin.initializeApp()
export const getFeed = functions.https.onCall(async(req, res)=>{
docs.get = await admin.firestore().collection('posts').limit(10).get()
res.send(docs.docs.map((doc: { data: any; })=> doc.data))
}) 

请提供任何详细帮助,因为我是离子、角和火球的新手

onCall函数与onRequest函数的工作方式截然不同。请阅读文档以了解如何编写。

可调用函数使用请求和响应对象。它们接受两个参数,一个输入数据参数和一个上下文:

export const getFeed = functions.https.onCall(async (data, context) => { ... })

要发送响应,您应该返回一个promise,该promise使用要序列化的对象解析并发送回客户端。

const querySnapshot = await admin.firestore().collection('posts').limit(10).get()
return querySnapshot.docs.map(snap => snap.data())

他们也可以自己处理cors——不需要为此添加中间件。事实上,您不能使用任何具有可调用函数的express中间件。您还需要使用提供的客户端SDK来调用它们。它们将无法处理常规的HTTP请求。文档将对此进行解释。

相关内容

  • 没有找到相关文章

最新更新