__要處理延遲刪除請求(例如,5 天後刪除使用者設定檔),您可以在 Node.js 中使用延遲任務排程方法來實現此目的。以下是逐步實施:
方法 1:使用後台任務排程器(例如,node-cron 或 Agenda.js)
節點 cron 範例:
exports.deleteProfile = async (req, res) =>; {
嘗試{
const { userId } = req.body;
// Validate input if (!userId) { return res.status(400).json({ success: false, message: "User ID is required" }); } // Find user to ensure existence const user = await User.findById(userId); if (!user) { return res.status(404).json({ success: false, message: "User not found" }); } // Schedule deletion after 5 days const deletionDate = new Date(); deletionDate.setDate(deletionDate.getDate() + 5); cron.schedule(deletionDate.toISOString(), async () => { await User.findByIdAndDelete(userId); console.log(`User with ID ${userId} deleted successfully.`); }); return res.status(200).json({ success: true, message: `User deletion scheduled for ${deletionDate.toISOString()}`, });
} catch(錯誤){
console.error("計畫刪除時發生錯誤:", error);
return res.status(500).json({ success: false, message: "內部伺服器錯誤" });
}
};
以上是如何使用 Node Cron 在 Node.js 中安排任務的詳細內容。更多資訊請關注PHP中文網其他相關文章!