【发布时间】:2015-02-28 09:56:31
【问题描述】:
我编写了这个函数来从流中提取文件列表。它可以工作,但是流是异步的,并且在流完成之前返回 files 数组。我真的不想使用 Promise 库......尽量保持代码简洁。流完成后如何返回files 数组?
function fileList(source) {
var files = [];
source.pipe(through2.obj(function(obj, enc, next) {
file = obj.history[0].split("/").pop();
files.push(file);
next();
}));
return files;
}
【问题讨论】:
-
您不能使异步操作同步。只是不能在 JS 中完成。使用回调或承诺或类似的东西进行异步设计以返回值。