【发布时间】:2016-02-26 09:58:06
【问题描述】:
我有一个 for 循环,它在之后调用一个动作 fs.copy。在 for 循环完成后,我需要执行一个命令。我想我需要在 for 完成后进行回调。我认为我遇到的问题是 fs.copy 是异步运行的,因此 for 循环实际上在 fs.copy 操作之前完成。有什么建议吗?
var sessionNumeber = 7;
photoOrder = (An array of photo names);
for(var i = photoOrder.length - 1; i >= 0; i--) {
console.log('Moving Photo');
fs.copy(cfg.watchedFolder+photoOrder[i]+'.jpg', cfg.outputFolder+sessionNumber+"/"+i+'.jpg', function (err) {
if (err) {
// i.e. file already exists or can't write to directory
throw err;
}
});
});
nextCommand();
【问题讨论】:
-
请格式化您的代码
-
代码已更新
-
为照片添加计数器,当它等于数组的长度时 - 调用你的函数
-
不,那不是有效的 js。
-
@loadaverage 确实有一个如何做到这一点的例子。我试图在 fs.copy 回调中添加一个,但无法让它工作。
标签: javascript node.js fs fs-extra