您的问题是循环完成时会调用您的回调,因此
value已更改。
一种解决方案是使用闭包来存储以下值
value:
for (var value in CourseTitleArray) { (function(value){ console.log( "Course Title " + CourseTitleArray[value]); var newImageLocation = path.join(__dirname, 'app/img/courseImages', CourseTitleArray[value] + ".png"); fs.readFile(image.path, function(err, data) {fs.writeFile(newImageLocation, data, function(err) {console.log(CourseTitleArray[value] + " was created successfully");}); }); console.log("Loop executed " + value); })(value);}请注意,尚不清楚“循环执行”日志的含义:登录时,尚未进行写入。



