题目有点绕,我来解释下。 根据文档:
重复异步协作
var ep = new EventProxy();
ep.after('got_file', files.length, function (list) {
// 在所有文件的异步执行结束后将被执行
// 所有文件的内容都存在list数组中
});
for (var i = 0; i < files.length; i++) {
fs.readFile(files[i], 'utf-8', function (err, content) {
// 触发结果事件
ep.emit('got_file', content);
});
}
根据文档我知道多个fs.readFile()函数会异步执行并且顺序不可控,当所有异步操作结束后会返回到after函数中。 如果现在我希望顺序执行多个异步操作应该怎么写呢(先读取fule[0], 然后读取file[1]…file[n-1],最后返回结果)?