在nodejs中for循环中是不能嵌套使用异步调用的,就像下面的:
我们定义一个post请求,用于接受前端发送来的文件,然后使用for循环对目录下的一些文件依次做一些异步调用事情(使用fs的stat)
router.post('/uploadfile', function (req, res) {
upload(req, res, function (err) {
if (err) {
return res.end("Error uploading file.");
}
for(let i = 0; i<req.files.length;i++) {
fs.stat('./', req.files[i].originalname, function (err, stats) {
//do somethins
upload(req, res, function (err) {
if (err) {
return res.end("Error uploading file.");
}
for(let i = 0; i<req.files.length;i++) {
fs.stat('./', req.files[i].originalname, function (err, stats) {
//do somethins
console.log(i);