У меня проблема с тем, чтобы Promise работал должным образом. Мне нужно сделать следующее:
Я получаю имена файлов из stdout, разбиваю их на строки и копирую. Когда операция копирования завершена, я хочу начать другие операции, и вот моя проблема.
Я создал функцию копирования внутри Promise, в случае ошибки я немедленно отклоняю ее, если ошибок нет, я разрешаю ее после завершения копирования в цикле, но по какой-то причине функция внутри then() выполняется до выполнения операции копирования
var lines = stdout.split(/\r?\n/);
copyUpdatedFiles(lines).then(
function() {
console.log('this one should be executed after copy operation');
}
);
function copyUpdatedFiles(lines) {
return new Promise(function(resolve, reject) {
for (var i = 0; i < linesLength; i++) {
fs.copy(lines[i], target, function(err) {
if (err) {
reject();
}
});
}
resolve();
});
}
Пожалуйста, помогите, потому что я явно что-то упускаю.