Node.js 中文手册

中文翻译:www.nodecn.org 转载请注明出处

目录


实用工具

这些函数属于 'util' 模块。使用 require('util') 来访问它们。

util.debug(string)

同步输出。将阻塞进程并立即向 stderr 输出 string

require('util').debug('message on stderr');

util.log(string)

stdout 输出 string 和时间戳 。

require('util').log('Timestmaped message.');

util.inspect(object, showHidden=false, depth=2)

返回 object 的字符串表示,用于调试。

如果 showHiddentrue,那么对象不可枚举的属性也会显示。

如果提供了 depth,它将指定 inspect 需要递归多少层,在查看复杂对象时很有用。

默认只递归两层。如果要无限递归,给 depthnull

示例:查看 util 对象的所有属性

var util = require('util');

console.log(util.inspect(util, true, null));

util.pump(readableStream, writableStream, [callback])

本函数属于实验性质。

readableStream 读取数据,并将其发送到 writableStream。当 writableStream.write(data) 返回 falsereadableStream 将被暂停,直到 writableStream 触发 drain 事件。callback 只接受一个 error 参数,在 writableStream 关闭或发生错误时调用。

util.inherits(constructor, superConstructor)

构造函数 继承原型方法。constructor 的原型将被设置成一个从 superConstructor 创建的新对象。

为了更加方便使用,可以通过 constructor.super_ 来 访问 superConstructor

var util = require("util");
var events = require("events");

function MyStream() {
    events.EventEmitter.call(this);
}

util.inherits(MyStream, events.EventEmitter);

MyStream.prototype.write = function(data) {
    this.emit("data", data);
}

var stream = new MyStream();

console.log(stream instanceof events.EventEmitter); // true
console.log(MyStream.super_ === events.EventEmitter); // true

stream.on("data", function(data) {
    console.log('Received data: "' + data + '"');
})
stream.write("It works!"); // Received data: "It works!"