当前位置: 首页 > news >正文

上海自助建站抖音seo排名优化公司

上海自助建站,抖音seo排名优化公司,邢台网红桥,b2c网站html来源:Nodejs 第十八章(util) util 是Node.js内部提供的很多实用或者工具类型的API util.promisify 用于将遵循Node回调风格(即最后一个参数为回调函数)的函数转换成返回Promise的函数,这样可以使得异步代…

来源:Nodejs 第十八章(util)
util 是Node.js内部提供的很多实用或者工具类型的API

util.promisify

用于将遵循Node回调风格(即最后一个参数为回调函数)的函数转换成返回Promise的函数,这样可以使得异步代码更容易使用和维护
常规获取node版本

const {exec} = require('child_process')
exec('node -v', (err, stdout, stderr) => {if (err) {console.error(`执行出错:${err}`);return;}console.log(`stdout: ${stdout}`);console.error(`stderr: ${stderr}`);
})

promise风格获取,Promiseify 接受 original一个函数体

const util = require('util');
const {exec} = require('child_process');
const execPromise = util.promisify(exec)
execPromise('node -v').then(res =>{console.log('res', res)
}).catch(err =>{console.log('err', err)
})

在这里插入图片描述

promisify实现原理

1、promisify返回一个新的函数
2、接收一个函数,作为参数,并在返回的函数中接收真正的参数,然后返回一个promise
3、调用真正的函数,并将参数透传给original,如果失败了就reject,如果成功就resolve

util.callbackify(original)

将promise类型的API转回成回调函数形式

const util = require('util')
const fn = (type) =>{if(type == 1){return Promise.resolve('test')}return Promise.reject('error')
}
const callback= util.callbackify(fn)
callback(1, (err, val) =>{console.log(err,val)
})

在这里插入图片描述

const util = require('util')
const fn = (type) =>{if(type == 1){return Promise.resolve('test')}return Promise.reject('error')
}
const callback= util.callbackify(fn)
callback(1122, (err, val) =>{console.log(err,val)
})

在这里插入图片描述

callbackify实现原理

1、接收原始函数,callbackify接受一个返回promise的函数作为参数
2、创建一个新函数:这个新函数会接收与原始函数相同的参数,但会在最后多一个回调函数(node的回调风格)
3、处理promise的结果
如果Promise成功(resolved),则调用回调函数并传递null作为第一个参数,表示没有错误,以及Promise的结果作为第二个 参数
如果Promise失败(rejected), 则调用回调函数并传递错误对象作为第一个参数,第二个参数为undefined

function callbackify(originalFunction){return function(...args){// 获取最后一个参数作为回调函数const callback = args.pop();if(typeof callback !== 'function'){throw new TypeError('The last argument must be a function')}// 调用原始函数,并获取promiseconst promise = originalFunction.apply(this, args)if(!(promise instanceof Promise)){return callback(new TypeError('The function must return a Promise'))}// 处理promise结果promise.then(result =>{// promise成功,调用回调函数并传递null和结果callback(null, result)}, error =>{// promise失败,调用回调函数并传递错误callback(error)}) }
}
// 使用
const fn = (type) => {if (type === 1) {return Promise.resolve('test');}return Promise.reject('error');};const callback = callbackify(fn);callback(1, (err, val) => {console.log(err, val); // 输出: null 'test'});callback(2, (err, val) => {console.log(err, val); // 输出: 'error' undefined});

util.format()

使用第一个参数作为类似printf的格式字符串(可包含零个或多个格式说明符)来返回格式化的字符串,每个说明符都替换为来自相应参数的转换后的值,如果说明符没有相应的参数,则不会替换它
格式字符串是由%引导的,用来控制字符串输出的格式
支持的说明符有:
%s: String 将用于转换除 BigInt、Object 和 -0 之外的所有值。 BigInt 值将用 n 表示,没有用户定义的 toString 函数的对象使用具有选项 { depth: 0, colors: false, compact: 3 } 的 util.inspect() 进行检查

%d: Number将用于转换除BigInt和Symbol之外的所有值

%i: parseInt(value, 10)用于除BigInt和Symbol之外的所有值

%f: parseFloat(value) 用于除 Symbol 之外的所有值

%j: JSON.如果参数包含循环引用,则替换为字符串 ‘[Circular]’

%o: Object。具有通用 JavaScript 对象格式的对象的字符串表示形式。类似于具有选项 { showHidden: true, showProxy: true } 的 util.inspect()。这将显示完整的对象,包括不可枚举的属性和代理

%O: Object。具有通用 JavaScript 对象格式的对象的字符串表示形式。类似于没有选项的 util.inspect()。这将显示完整的对象,但不包括不可枚举的属性和代理。

%c:CSS。此说明符被忽略,将跳过任何传入的 CSS

%%:单个百分号 (‘%’)。这不消费参数。

const util = require('util');
//说明符没有相应的参数,则不会替换它
console.log(util.format('%s:%s', 11));//11:%s
//参数多于说明符的数量,则额外的参数将以空格分隔串联到返回的字符串
console.log(util.format('%s:%s', 'foo', 'bar', 'baz'));//foo:bar baz
http://www.hkea.cn/news/261723/

相关文章:

  • 做seo还要需要做网站吗百度热搜榜排行
  • 福建城市建设厅网站怎么推广一个网站
  • 机构网站建设需要交费吗关键词挖掘
  • 专业网站建设费用报价今日最新消息
  • 电商网站建设论文2022黄页全国各行业
  • 能源企业 网站建设网络营销的应用
  • 如何看网站是用什么语言做的关键词排名是由什么决定的
  • 政府网站建设招标书百度网站收录
  • 已经有了网站怎么做推广哈尔滨关键词优化报价
  • 网站建设与管理作业镇江推广公司
  • 域名申请好后 如何建设网站网站权重划分
  • 佛山百度网站快速优化网络营销推广工具
  • 建一个网站需要哪些人广州seo网站推广公司
  • 建设银行etc官方网站搜索引擎优化的七个步骤
  • 做网站需要花钱吗海南百度推广运营中心
  • 做的网站显示图片很慢百度运营公司
  • 青州哪里做网站公司推广渠道
  • 网站面包屑导航怎么做的网推接单平台有哪些
  • 宜昌网站建设兼职百度关键词排名软件
  • 如何让百度快照找到自己的网站营销策划方案ppt模板
  • php网站超市广告软文是什么意思
  • b2c跨境电商宣城网站seo
  • 网站建设一流公司免费网站开发平台
  • 网站开发模式名词外贸谷歌优化
  • 网站素材 下载产品推广渠道
  • 网站后台维护怎么做seo专员工资一般多少
  • 中国网站推广黄页名录微商推广哪家好
  • 哈尔滨网站开发电话电商培训基地
  • 如何用php数据库做网站搜索seo优化托管
  • 中国城乡建设部人力网站首页优化落实疫情防控