Angenommen, Sie über die Verwendung Promises
planen, da Sie nicht einen Rückruf in Ihrer Methode Unterschrift liefern haben, können Sie überprüfen, ob die Datei das Verzeichnis zur gleichen Zeit vorhanden ist und beobachtet, dann zu lösen, wenn die Datei vorhanden ist, oder die Datei wird erstellt, bevor die Zeitüberschreitung auftritt.
function checkExistsWithTimeout(filePath, timeout) {
return new Promise(function (resolve, reject) {
var timer = setTimeout(function() {
watcher.close();
reject(new Error('File did not exists and was not created during the timeout.'));
}, timeout);
fs.access(filePath, fs.constants.R_OK, function (err) {
if (!err) {
clearTimeout(timer);
watcher.close();
resolve();
}
});
var dir = path.dirname(filePath);
var basename = path.basename(filePath);
var watcher = fs.watch(dir, function (eventType, filename) {
if (eventType === 'rename' && filename === basename) {
clearTimeout(timer);
watcher.close();
resolve();
}
});
});
}
Auf welches Betriebssystem zielen Sie? Unter Linux/OSX können Sie Node.js ein Verzeichnis für Änderungen anzeigen lassen. – Brad
Ich führe Code auf Linux – wong2
das könnte nützlich sein; http://nodejs.org/docs/latest/api/fs.html#fs_fs_watchfile_filename_options_listener – renatoargh