请问再这个循环里面已经使用retun,但是已经会继续执行,是什么原因?
if (order.length) {
for (var i = 0; i < order.length; i++) {
(function (i) {
mysqldb.query(
"SELECT goods_name FROM order_goods WHERE order_id =?", [order[i].order_id],
function (err, rows) {
if (err) {
req.session.error = '出错了';
return res.redirect('/checkcode');
}
//console.log(rows);
order[i].goods_name = rows
order[i].appointment_time = getLocalTime(order[i].appointment_time);
if (i == (order.length - 1)) {
console.log("ok");
return res.render(tep, {
title: '订单',
order: order
});
}
}
);
})(i);
}
}
当发生错误时执行到这条语句
if (err) {
req.session.error = '出错了';
return res.redirect('/checkcode');
}
这里已经return 了,但是程序依然会继续执行,请问是什么原因导致?难道node中的return 不能终止语句?谢谢!
1 回复
怎么个继续执行?return只结束当前函数,外层函数是不会结束的,任何语言都一样