
node.js 包含一系列组件,这些组件组合在一起形成 javascript 运行时环境。在 node.js 架构 – node.js 简介系列中,我们探索了构成 node.js 的各种组件及其各自的功能。
在 node.js 中,有许多内置模块 – 即从一开始就集成的模块。 util 就是这样的一个模块,在我看来,它值得更多的关注。 util 模块包含一组小实用函数,这些函数在某些情况下很有用。在本文中,我们将深入研究其中一些功能…
util.promisify 和 util.callbackify
回调是处理异步代码的最早的方法之一。然而,回调有几个限制,例如创建嵌套代码并导致臭名昭著的“回调地狱”。有时,阅读一段以回调风格编写的代码可能会让人不知所措。添加新功能可能具有挑战性,因为它需要引入额外的逻辑层。
在 node.js 中,有一个实用函数可以将使用回调风格的异步函数转换为 promises。当你想要过渡到基于 promise 的方法,然后将其与 async/await 结合起来,使你的代码更简洁、更易于理解时,此函数非常有用。
const util = require('node:util');const fs = require('node:fs');const stat = util.promisify(fs.stat);async function callstat() { const stats = await stat('.'); console.log(`this directory is owned by ${stats.uid}`);}callstat();
相反,我们有 util.callbackify 将基于 promise 的函数转换回回调。
const util = require('node:util');async function fn() { return 'hello world';}const callbackfunction = util.callbackify(fn);callbackfunction((err, ret) => { if (err) throw err; console.log(ret);});
util.弃用
如果您经常使用库,您可能已经注意到控制台消息表明某个函数已被弃用。
oldfunction() is deprecated. use newfunction() instead.
这是一个通知,表明 oldfunction 已接近其支持生命周期的终点,并且将来可能会被删除。这是提醒开发人员某个函数即将“退休”并使用替代函数的常见方法。
在 node.js 中,如果您需要警告其他人某个函数即将终止,有一种简单的方法可以显示此通知。
const util = require('util');function oldfunction() { console.log('this function is deprecated!');}const deprecatedfunction = util.deprecate(oldfunction, 'oldfunction() is deprecated. use newfunction() instead.');
只需将 oldfunction “包装”在 util.deprecate 中即可。每次调用 oldfunction 时,控制台中都会出现警告消息。
动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版
动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包
508 查看详情
实用程序类型
从 es6 开始,我们有额外的函数来检查数据类型:布尔、数组、对象等。
util 模块有一个 types 属性,可以扩展检查数据类型的功能。
例如:
console.log(util.types.ispromise(promise.resolve())); // trueconsole.log(util.types.isregexp(/abc/)); // trueconsole.log(util.types.isdate(new date())); // true
完整列表可在 util.types | 获取。 node.js 文档。
util.isdeepstrictequal
isdeepstrictequal 是比较两个对象并确定它们是否相同的最有效方法。
const util = require('util');const obj1 = { a: 1, b: { c: 2 } };const obj2 = { a: 1, b: { c: 2 } };console.log(util.isDeepStrictEqual(obj1, obj2)); // true
除了这些函数之外,util 模块还提供了许多其他实用函数,例如 util.styletext 用于格式化控制台中的文本输出,以及 util.parseenv 用于解析 .env 文件中的环境变量内容。
更多信息请参考:
node.js v22.8.0 文档 |实用程序
以上就是Nodejs Util 模块中的一些有用的函数的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/807192.html
微信扫一扫
支付宝扫一扫