node学习笔记——核心模块util常用工具

util模块里的常用工具

1.util.callbackify(original)

将 async 异步函数(或者一个返回值为 Promise 的函数)转换成遵循异常优先的回调风格的函数,例如将 (err, value) => … 回调作为最后一个参数。 在回调函数中,第一个参数为拒绝的原因(如果 Promise 解决,则为 null),第二个参数则是解决的值。
例如:

const util = require('util');

async function hello(){
    return 'hello world'
}

let helloCb = util.callbackify(hello);
helloCb((err,res) => {
    if (err) throw err;
    console.log(res)
})

运行结果:

2.util.promisify(original)

传入一个遵循常见的错误优先的回调风格的函数(即以 (err, value) => … 回调作为最后一个参数),并返回一个返回 promise 的版本。
例如:

const util = require('util');
const fs = require('fs');

let stat = util.promisify(fs.stat);

stat('./utilTest.js').then((data) => {
    console.log(data);  
}).catch((err) => {
    console.log(err);
})

运行结果:

用async和await来写也可以:

const util = require('util');
const fs = require('fs');

let stat = util.promisify(fs.stat);
async function statFn(){
    try{
        let stats = await stat('./utilTest.js');
        console.log(stats);
    }catch(err){
        console.log(err);
    }
}
statFn();

运行结果和上面是一样的。
3.util.types.isDate(value)

判断是否为Date数据。
例如:

console.log(util.types.isDate(new Date()));

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值