Отличие fs.unlink() от fs.unlinkSync()
Если выполнить код:
fs.unlink(<путь до интересующего файла>, function (err) {
if (err) throw err;
console.log("file deleted");
});
то файл удалится и в консоли отобразится: "file deleted" Если запустить код:
fs.unlinkSync(<путь до интересующего файла>, function (err) {
if (err) throw err;
console.log("file deleted");
});
то файл удалится, но в консоли текст "file deleted" не выводится. Подскажите, пожалуйста, по какой причне во втором случае текст не показывается? |
Потому что все функции с суффиксом Sync выполняются синхронно и следовательно не принимают вторым агрументом колбэк-функцию, потому что это не имеет смысла.
Пиши так:
fs.unlinkSync(<путь до интересующего файла>);
console.log("file deleted");
Насчет отлова ошибок не уверен. Скорее всего будет брошено исключение, так что оберни в try .. catch, но лучше уточнить в документации по функциям. |
UPD:
В документации у метода fs.unlink() два аргумента - path, callback, у метода fs.unlinkSync() - всего один аргумент path. Если верно понял, то в случае:
fs.unlinkSync(<путь до интересующего файла>, function (err) {
if (err) throw err;
console.log("file deleted");
});
второй аргумент игнорируется без выведения ошибок. danik.js Благодарю за ответ. |
| Часовой пояс GMT +3, время: 12:57. |