提问人:Henry 提问时间:4/27/2023 更新时间:4/27/2023 访问量:275
如何创建从 Supabase 数据库获取实时更新的 Next.js API 端点
How can I create a Next.js API endpoint that gets realtime updates from Supabase database
问:
我正在使用 Next.js 和 Plasmo 创建一个 Chrome 扩展程序,而 Plasmo 有一个奇怪的事情,我无法在客户端导入 Supabase,所以我在文件夹中创建自定义 api 路由来处理与 Supabase 有关的任何事情。我一直在尝试实现实时更新 - 预期的行为是请求在 API 更新之前不返回任何响应,然后当 API 更新时,我们得到任何有效负载,然后停止。page/api
import type { NextApiRequest, NextApiResponse } from "next";
import supabase from "scripts/config/supabaseClient";
export default async (req: NextApiRequest, res: NextApiResponse) => {
const { message_id } = req.query;
const channel = supabase.channel("my-channel");
console.log("waiting for change");
channel.on(
"postgres_changes",
{
event: "UPDATE",
schema: "public",
table: "messages",
filter: `id=eq.${message_id}`
},
(payload) => {
console.log(payload);
channel.unsubscribe()
res.status(200).json(payload);
}
);
console.log("subscription done");
};
但是,现在,发生的事情是我收到此错误:和console.log输出仍然显示,但中间的代码似乎没有运行。我已检查是否允许消息表广播实时更新。API resolved without sending a response for /api/supabase/subscriber?message_id=hey, this may result in stalled requests.
"waiting for change"
"subscription done"
答: 暂无答案
评论