Rumah  >  Soal Jawab  >  teks badan

node.js - Biar saya terangkan prinsip pelaksanaan jam modul fs dalam nod

Mari kita terokai prinsip pelaksanaan jam modul fs dalam nod,

const fs = require('fs');
var fileName = 'a.txt';
fs.watch(fileName, (function () {
    var count = 0;
    return function () {
        count++;
        console.log("文件" + fileName + " 内容刚刚改变。。第" + count + "次");
    };
})());
console.log("watching file...");

Bagaimanakah fs melaksanakan pemberitahuan acara sebagai tindak balas kepada perubahan fail? Jika ia adalah dengan memantau perubahan saiz fail, atau sesuatu yang lain?

Berikut ialah beberapa perkara yang dilihat melalui kod sumber nod:

const FSEvent = process.binding('fs_event_wrap').FSEvent;

function FSWatcher() {
  EventEmitter.call(this);

  var self = this;
  this._handle = new FSEvent();
  this._handle.owner = this;
  this._handle.onchange = function(status, eventType, filename) {
    if (status < 0) {
      self._handle.close();
      const error = !filename ?
          errnoException(status, 'Error watching file for changes:') :
          errnoException(status,
                         `Error watching file ${filename} for changes:`);
      error.filename = filename;
      self.emit('error', error);
    } else {
      self.emit('change', eventType, filename);
    }
  };
}

Fs_event_wrap.cc yang berikut pada asasnya dalam bahasa asing.

Jumlah data yang saya pasang dalam docker tidak dapat mengesan pemberitahuan acara

ringa_leeringa_lee2724 hari yang lalu1190

membalas semua(2)saya akan balas

  • PHP中文网

    PHP中文网2017-05-27 17:46:10

    Lihat ini https://github.com/nodejs/nod...

    balas
    0
  • 仅有的幸福

    仅有的幸福2017-05-27 17:46:10

    Ayuh, Nak, jawablah, awak tak tahu nak pijak saya, ada lubang di kepala awak?

    balas
    0
  • Batalbalas