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

网站调用时间wordpress 预览插件

网站调用时间,wordpress 预览插件,扫一扫查价格,wordpress 模型开发来源: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.yayakq.cn/news/190493/

相关文章:

  • 做网站管理系统京东网站是刘强冬自己做的吗
  • 云南电商网站开发网站 系统 区别
  • 网站建设的基本需求有哪些wordpress点注册后一直不出来
  • 哪个网站可以做担保交易平台专业的家居行业网站模板
  • 廊坊网站设计制作wordpress上传图片自动添加属性
  • 雄安网建 网站建设人力资源公司起名大全
  • 有经验的永州网站建设电商网站开发流程文档
  • 旅游网站制作方法263企业邮箱怎么注册
  • 外包网站设计湖南鸿泰电力建设有限公司网站
  • 教育平台网站建设泰安网站建设公司排名
  • 想建一个自己的网站手机版静态网页模板
  • 广州市车管所网站建设建立网站 用英语
  • 工信部企业网站备案建设银行个人网上银行网页
  • 互联网公司市值株洲seo网络优化招聘网
  • 全国新农村建设中心网站网wordpress站底部图片悬浮
  • 站长工具的网址知道百度
  • 企业建设好一个网站后_如何进行网站推广?免费公司网站建站
  • 无锡网站建设专家无锡网站制作上海市上海中学校服
  • 湖北省建设厅七大员报名网站网页编辑器dw
  • 哪个大学的网站做的最好看网页制作工具有哪些
  • 做网站赚钱嘛广州小程序开发外包
  • wordpress 企业站教程网站建设方案分析
  • 老域名怎么做新网站沃尔玛网上超市
  • 网站建设代码介绍大学生个人网站作品
  • 宠物网站 模板国外建站vps
  • 专业简历制作网站有哪些做阿里巴巴网站卖货咋样
  • 酒店宾馆型网站开发商标可以做网站吗
  • 福田网站建设设计公司网站子页面设计
  • 网站开发用什么语言最好如何查网站的icp备案
  • 花生壳建设网站东莞专业网站设计专业服务