我想遍历一个列表并重命名 Windows 8 / Javascript 中的一些文件。因此,我编写了一个名为“renameFile”的函数,并在循环中调用该函数,如下所示:
list.forEach(function (value, index, array) {
var filename = index;
var newfilename = index+1;
renameFile(filename, newfilename);
});
function renameFile(filename, newfilename) {
Windows.Storage.ApplicationData.current.localFolder.getFileAsync(filename).then(function (sampleFile) {
sampleFile.renameAsync(newfilename).done(
function complete(result) {
},
function error(error) {
console.log("error" + error);
}
);
});
}
问题是:重命名函数是异步的,似乎有时重命名有效,有时无效:在大多数情况下,只有列表的第一个元素被重命名。我怎样才能告诉循环等待,直到列表中第一项的重命名过程完成,然后与第二个,第三个,......项目一起去?
干杯