Hi @dean1994, the team confirmed this is intentional because un-awaited promises are not guaranteed to complete.
You can use the waitUntil utility from @vercel/functions for your fire and forget use case, as described in the docs.
import type { NextApiRequest, NextApiResponse } from "next";
import { waitUntil } from "@vercel/functions";
type ResponseData = {
message: string;
};
export default async function handler(
req: NextApiRequest,
res: NextApiResponse<ResponseData>
) {
try {
waitUntil(fetch("https://example.com"));
return res.status(200).json({ message: "Hello World" });
} catch {
return res.status(500).json({ message: "Error" });
}
}