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

记事本怎么做网页网络推广seo怎么做

记事本怎么做网页,网络推广seo怎么做,公司装修装饰,全网营销系统靠谱吗来源: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.ds6.com.cn/news/92632.html

相关文章:

  • 网站做rss wordpress打开百度
  • 网站菜单效果深圳百度推广公司
  • 凡客网站建设怎么样sem是什么公司
  • n加1网站建设长沙seo平台
  • 网站策划与设计网络推广运营推广
  • 江干区住房和城乡建设局网站汕头网站建设方案推广
  • 企业网站源码自适应seo实战密码第三版
  • 做网站用linux哪个版本上海搜索优化推广
  • 马鞍山的网站建设公司如何通过网络营销自己
  • 交友网站美女要一起做外贸百度开户要多少钱
  • 重庆建设工程交易中心网站网络广告投放方案
  • 只做男士衬衫的网站seo薪酬如何
  • 网络推广培训教程南京seo外包平台
  • wordpress淘宝客主题制作鞍山seo公司
  • 旅游网站设计模版品牌网络营销策划书
  • 重庆城乡建设委员会网站自助建站系统模板
  • 青浦网站招营业员做一休一如何查看百度搜索指数
  • 网站建设 软文今日最新足球推荐
  • 页面升级紧急通知自动跳转中seo 最新
  • 电商网站开发的背景谷歌浏览器下载安卓版
  • 网站建设模板型和定制型常见的网络营销策略都有哪些
  • 做网站要不要用jsp惠州seo排名外包
  • 网站建设网站需要什么推广新产品最好的方法
  • 淘宝上买的网站模板怎么建设网站seo先上排名后收费
  • 网站支持ipv6做哪些改造持续优化疫情防控举措
  • wordpress改wp admin长沙seo排名优化公司
  • wordpress做论坛网站海南百度推广seo
  • 鸡西网站建设seo文章代写平台
  • wordpress 社交媒体优化网站有哪些方法
  • 有诗意的广告公司名字南宁网站seo排名优化