Добрый день.
Пробовал обернуть
chokidar.watch в
setIntreval:
const log = console.log.bind(console);
log('start......');
const interval = setInterval(() => {
chokidar.watch('file', {
interval: 500,
}).add(path.resolve(__dirname, 'download'))
.on('add', path => {
log(`File ${JSON.stringify(path)} has been added`);
clearInterval(interval)
});
}, 500);
log('finish......');
Еще до того, как я добавляю в текущую папку файл с именем
download,
Уже на выходе:
start......
finish......
Вопрос, как можно сделать так, чтобы реализовать
finish вышел только после добавления файла.
Реально ли это сделать без
setInterval?
Реально ли это сделать без
Promise?
P.S.
Промежуточный вариант:
const promise = new Promise((resolve, reject) => {
chokidar.watch('file', {
interval: 500,
}).add(path.resolve(__dirname, 'watching', 'download'))
.on('add', path => {
resolve('finish!');
});
});
promise.then(data => console.log(data));