Я новичок в Javascript.
Я только что запустился с npm, node.js и т. Д.
Теперь я обнаружил два популярных пакета: mkdirp и glob
которые учитывают некоторые очень простые и полезные функции. В базовой версии mkdirp
и glob
позволяют пользователю при вызове предоставлять пользовательскую функцию. И я нашел репо, в котором используются как mkdirp
, так и glob
для определения каскада вызовов вложенных функций примерно по следующим строкам:
mkdirp('some_path', (err) => { // first nesting
if (!err) {
glob(
'some_glob_exp',
(err, files) => { // another nesting
if (!err) {
// transform file
files.map(do_something);
};
};
);
};
})
Мой вопрос:
Какой смысл предоставлять эту функциональность в mkdirp
и glob
и использовать ее, когда я могу обойтись без (то есть создать каталог, затем создать объект файлов, затем манипулировать файлами в объекте файлов) и, возможно, написать более читаемый код ? Это хорошая практика, чтобы вкладывать функции, как указано выше? Является ли основная мотивация для этого парадигмой функционального программирования? обработка ошибок? эффективность? избегать явного создания объектов?