【发布时间】:2020-05-07 02:10:33
【问题描述】:
我正在尝试创建一个生成折扣券的函数,我收到一个错误,因为“TypeError:res.status 不是控制器上的函数。”
这是我的折扣控制器:
function coupongenerator () {
var coupon = '';
var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
for (var i = 0; i < 10; i++) {
coupon += possible.charAt(Math.floor(Math.random() * possible.length));
}
return coupon;
}
exports.createCoupon = () => {
let isExistDiscount = false;
do {
let myDiscountCode = coupongenerator()
let newDiscountCode = new Coupon({
code: myDiscountCode,
isPercent: true,
amount:30 ,
expireDate: '',
isActive: true
});
newDiscountCode.save(function (err,res) {
if (err) {
if (err.name === 'MongoError' && err.code === 11000) {
// Duplicate code detected
isExistDiscount = true;
}
}
res.status(200).send('yes');
});
} while (isExistDiscount);
}
【问题讨论】:
-
req和res是从express传递给你的函数调用的变量,所以你需要在createCoupon = () => {}传递(req, res)来获取请求和结果对象。 -
非常感谢,我把它改成 createcoupon=(req,res)=>{} 就可以了