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);

}

相關文章
相關標籤/搜索