У меня возникли проблемы с пониманием того, как Node работает относительно параллельной обработки и возвращает значения из вызовов функций.
FYI: Ниже приведена функция gulp ниже, как пример для этого вопроса.
Возможно ли, что функция может вернуть поток перед завершением операции Read a large file
(большой файл был полностью прочитан из файловой системы и добавлен поток), или Node достаточно умный, чтобы завершить все заявления перед возвратом?
function moveFiles(){
var gulp = require('gulp'),
stream = require('merge-stream')();
// Read a large file
stream.add(gulp.src('src/large-file.txt')
.pipe(gulp.dest('dest/'))
);
// Read a small file
stream.add(gulp.src('src/small-file.txt')
.pipe(gulp.dest('dest/'))
);
return (stream.isEmpty() ? null : stream);
}