1. 继承工具函数:
util.inherits(constructor, superConstructor) 用于实现对象间的继承。
const util = require('util');
function Animal(name) {
this.name = name;
}
Animal.prototype.walk = function() {
console.log(`${this.name} is walking.`);
};
function Bird(name) {
Animal.call(this, name);
}
util.inherits(Bird, Animal);
const eagle = new Bird('Eagle');
eagle.walk();
2. 事件触发器:
util 模块提供了 EventEmitter 类,用于实现事件触发器。
const util = require('util');
const EventEmitter = require('events');
function MyEmitter() {
EventEmitter.call(this);
}
util.inherits(MyEmitter, EventEmitter);
const myEmitter = new MyEmitter();
myEmitter.on('event', () => {
console.log('Event occurred.');
});
myEmitter.emit('event');
3. 传递继承:
util 模块的 util.promisify(original) 函数用于将基于回调的异步函数转换为返回 Promise 的形式。
const util = require('util');
const fs = require('fs');
const readFileAsync = util.promisify(fs.readFile);
readFileAsync('file.txt', 'utf-8')
.then(data => console.log('File content:', data))
.catch(err => console.error('Error reading file:', err));
4. 格式化字符串:
util 模块的 util.format(format, ...args) 函数用于格式化字符串。
const util = require('util');
const name = 'John';
const age = 30;
const formattedString = util.format('Name: %s, Age: %d', name, age);
console.log(formattedString);
5. util.inspect:
util.inspect(object, [options]) 用于返回对象的字符串表示,通常用于调试目的。
const util = require('util');
const obj = { name: 'John', age: 30 };
console.log(util.inspect(obj, { colors: true, depth: null }));
以上是一些 Node.js 中 util 模块的基本用法。util 模块提供了很多实用工具函数,方便开发者进行常见的任务,例如继承、事件处理、异步处理等。在实际开发中,你可能会在需要这些功能时使用 util 模块。
转载请注明出处:http://www.pingtaimeng.com/article/detail/4787/Node.js