我创建了以下函数,该函数调用第三方API以创建订单,并且在响应iam调用模型函数上,该函数检查具有用户ID的用户是否退出,并相应地执行了一些操作。 / p>
createOrder: async function (req, res, next) {
let formData = req.body;
razorPayInstance.instance.orders.create({
amount: formData.amount * 100,
currency: "INR",
payment_capture: 1
})
.then(response => {
let planSubscription = await PlanSubscription.findOne({ user_id:formData.user_id });
if(planSubscription) {
// do something
} else {
// do something
}
return res.status(200).json(res.fnSuccess(response));
})
.catch(error => {
console.log(error);
});
}
我在节点控制台中遇到以下错误: 让planSubscription =等待PlanSubscription.findOne({user_id:formData.user_id}); ^^^^^ SyntaxError:等待仅在异步功能中有效
有人可以指出这里有什么问题吗
答案 0 :(得分:0)
您不能await
内的某个函数中的某个表达式不是async
。只需在async
内使用then
函数即可。有关await的更多信息,请点击此处
createOrder: async function (req, res, next) {
let formData = req.body;
razorPayInstance.instance.orders.create({
amount: formData.amount * 100,
currency: "INR",
payment_capture: 1
})
.then(async(response) => { //change here
let planSubscription = await PlanSubscription.findOne({ user_id:formData.user_id });
if(planSubscription) {
// do something
} else {
// do something
}
return res.status(200).json(res.fnSuccess(response));
})
.catch(error => {
console.log(error);
});
}