Я пытаюсь выполнить следующую функцию.
Bluebird Выполнение массива обещаний последовательно
- Написать файл
- Отправить письмо с вложенным файлом
- Удалить файл
Я делаю код, приведенный ниже, но когда я получаю электронную почту, файл имеет ENOENT содержание.
Когда я удаляю переменную removeFile, я получаю электронное письмо со всем содержимым, которое я запросил.
Я тоже пробовал с Promise.reduce, но и не повезло.
Что я делаю неправильно?
var writeFile = fs.writeFileAsync(filePath, csv)
var sendMail = sendEmail(to, from, msg, subject, fileName, filePath)
var removeFile = fs.unlinkAsync(filePath)
return Promise.each([writeFile, sendMail, removeFile], function(fn){
return fn
})
Вы начинаете действие при создании обещания, а не при вызове 'Promise.each'. – Bergi