gpt4 book ai didi

javascript - Node 错误 - 在 MakeCallback 中使用域属性已被弃用

转载 作者:行者123 更新时间:2023-12-01 15:06:17 25 4
gpt4 key购买 nike

我在执行请求时收到此错误。

( Node :3993)[DEP0097] DeprecationWarning:不推荐在 MakeCallback 中使用域属性。请改用 MakeCallback 的 async_context 变体或 AsyncResource 类。

那是我的 Controller 的代码:AppointmentController
队列代码:Queue
Node 邮件:Mail

async delete(req, res) {
const { appointment_id } = req.params;

if (!appointment_id) {
return res.status(404).json({
error: "It's not possible to cancel an appointment with passing an id",
});
}

const appointment = await Appointment.findByPk(appointment_id, {
include: [
{
model: Restaurant,
as: 'restaurant',
attributes: ['id', 'name', 'provider_id'],
include: [
{
model: Provider,
foreignKey: 'provider_id',
as: 'provider',
},
],
},
{
model: User,
as: 'user',
attributes: ['id', 'name', 'email'],
},
],
});

if (!appointment) {
return res.status(404).json({ error: 'Appointment not found' });
}

if (appointment && appointment.canceled_at !== null) {
return res
.status(420)
.json({ error: 'This appointment was already canceled' });
}

// The user can cancel only his/her appointments - Verifying if the id is different
if (appointment.user_id !== req.userId) {
return res.status(401).json({
error: "You don't have permission to cancel this appointment",
});
}

// It's just allowed to cancel appointments with 1 hour of advance
const dateWithSub = subHours(appointment.date, 1);

if (isBefore(dateWithSub, new Date())) {
return res.status(401).json({
error: 'You can only cancel appointments with 1 hour of advance',
});
}

// Changing the field canceled_at with the current date
appointment.canceled_at = new Date();
await appointment.save();

const formatedDate = format(
appointment.date,
"'Day' dd 'of' MMMM',' H:mm 'Hours'"
);

await Queue.add(CancellationMail.key, { appointment, formatedDate });
return res.json(appointment);
}
}


另外,我正在为电子邮件作业使用队列。
问题是,我不知道这个错误是与 Node 有关还是来自我正在使用的服务之一。

最佳答案

由于使用了 deprecated domain module,因此出现了弃用警告。 .

我没有看到您的代码直接使用它,因此,我很确定您需要的软件包之一正在使用它。首先,我会检查您自己的代码以确保您没有使用它,如果没有,请确保您的所有依赖项都是最新的。

如果仍然无法解决,那么您需要找出警告的来源,最好的方法是在调试器中单步执行您的代码,并查看发出此警告时的堆栈跟踪是什么。

关于javascript - Node 错误 - 在 MakeCallback 中使用域属性已被弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58784689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com