Как мы можем рассчитать время для чтения файла в node.js? - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь подсчитать, сколько времени уходит на чтение файла с диска с помощью fs.readFile () в node.js. Ниже приведен код, который я использую для чтения файла:

const readVideoFromDisc = (videoName, fileName) => {
  return new Promise((resolve, reject) => {
    fs.readFile(BASE_FOLDER + "/" + videoName + "/" + fileName, function(
      err,
      buf
    ) {
      // store files in redis buffer
      if (err) {
        reject(err);
      }
      console.log("read disc", fileName);
      resolve(buf);
    });
  });
};

1 Ответ

1 голос
/ 11 октября 2019

Сохраните время до запуска, затем посмотрите, когда оно заканчивается

const readVideoFromDisc = (videoName, fileName) => {
  return new Promise((resolve, reject) => {
    const startTime = Date.now();

    fs.readFile(BASE_FOLDER + "/" + videoName + "/" + fileName, (
      err,
      buf
    ) => {
      const totalReadingTime = Date.now() - startTime;

      console.log(`Reading the file took ${totalReadingTime}ms`);

      // store files in redis buffer
      if (err) {
        reject(err);
      }

      console.log("read disc", fileName);

      resolve(buf);
    });
  });
};

Кроме того, вы можете превратить ваш код в:

const readVideoFromDisc = async(videoName, fileName) => {
  const startTime = Date.now();

  const buf = util.promisify(fs.readFile)(`${BASE_FOLDER}/${videoName}/${fileName}`);

  const totalReadingTime = Date.now() - startTime;

  console.log(`Reading the file took ${totalReadingTime}ms`);

  console.log("read disc", fileName);

  return buf;
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...