在下面的案例中如何在处理文件时使用NodeJ中的promises

时间:2016-07-20 11:38:19

标签: javascript node.js

我学习Javascript,我需要一些帮助。 我有一个代码:

'use strict';

const fs = require('mz/fs');

fs.readdir(__dirname)
  .then(function(filesNames) {
    return Promise.all(
      filesNames.map(fileName => fs.stat(fileName))
    )
  }) /*** after this, the file names are lost ***/
  .then(function(stats) {
    return stats.filter(stat => stat.isFile())
  })
  .then(function(stats) {
    return stats.reduce((sum, stat) => sum + stat.size, 0)
  })
  .then(console.log);

它计算文件夹中所有文件的总长度。问题是 - 如果我还需要阅读文件内容怎么办?但是在第一次" .then()"文件名丢失了......

总之我需要:

  1. 阅读文件夹中的文件列表
  2. 检查列表并从中删除文件夹名称
  3. 阅读列表中的每个文件
  4. 你能解释一下如何做到这一点吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

该函数的工作是返回Test6 Test7 以返回文件名:

stat