js for 循环中有异步函数时,回调函数老是最后一步的值。

缘由:for循环执行时不会等待异步函数执行。html

解决方法:异步

一、改成递归函数(暂时不会)。函数

二、构建一个自执行函数传参(匿名函数)htm

参考::https://www.cnblogs.com/csuwujing/p/8021913.htmlblog

例如递归

for (var i = 0; i < files.length; i++) {it

(function(i){io

var itemFile = files[i];console

fs.stat("./uploads/" + itemFile, function (err, stats) {for循环

if (stats.isDirectory()) {

console.log(itemFile+i);

} else

{ console.log(2);

} });

})(i);

}

相关文章
相关标签/搜索