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

网站没有模版能打开吗哈尔滨seo推广优化

网站没有模版能打开吗,哈尔滨seo推广优化,app定制开发制作费用,wordpress建立数据库错误本篇文章又是一期优雅的代码编程介绍———回调函数。 传统的nodejs编程都是这样的 const fs require(fs) fs.readFile(test.txt,utf8, function(err, dataStr){if(err){} }) 嵌套层级如果多了就成回调地狱了。如果我们将这种风格的代码转换成这样呢? const fs …

本篇文章又是一期优雅的代码编程介绍———回调函数。

传统的nodejs编程都是这样的

const fs = require('fs')
fs.readFile('test.txt','utf8', function(err, dataStr){if(err){}
}) 

嵌套层级如果多了就成回调地狱了。如果我们将这种风格的代码转换成这样呢?

const fs = require('fs');
const {promisfy, waitFor, promisfyNoError} = require('promisfy');
const readFile = promisfy(fs.readFile);
let content = await readFile('myfile.txt', {encoding:'utf8'});
return content;
http.createServer(80, function(req, res) {async function handleRequest(req, res) {if (req.method === 'POST') {req.body = await waitFor(req.sock, 'data');}}
}) 

这种promisfy的风格是不是简洁优雅,一行就搞定了。

安装

npm install --save promisfy 

promisfy包里封装了以下三个函数

  • promisfy: 处理fs这种回调API
  • waitFor: 处理监听事件和流的,对象具有xx.on('event'),xx.on('data'),xx.on('end')这些监听事件。
  • promisfyNoError: 处理回调没有错误抛出的API

源码

  • 参数:传入需要promisfy的函数和上下文
  • 返回值:返回一个新函数
const readFile = promisfy(fs.readFile);
let content = await readFile('myfile.txt', {encoding:'utf8'}); 

解析代码

1.通过agruments内置对象取到函数readFile的参数。
2.调用readFile返回的是一个Promise对象。
3.Promise里声明了一个callback函数。callback传入的参数结构是第一个为err对象,剩余参数为成功的结果。err对象通过reject函数处理,剩余参数用resolve函数处理。
4.处理函数的参数fnArgs,argscallback
5.最后调用这个函数并传入上下文。

  • promisfyNoError:和上述逻辑一样除去了err对象的部分;
  • waitFor:对普通事件监听和流处理做的promisfy封装;

结束语

对于回调这种风格的函数还有事件监听和数据流进行promisfy处理后,就节省了很多很多代码行数,清晰明了。优雅的风格依然还在,还能做一个艺术工程师。

类似的,我们在微信网页开发的时候使用weixin-jssdk,也可以自己封装一个promisfy风格的函数。我们的代码里也不会有看着费劲的屎山了。

wx.request({xxx:'',xxx:'',xxx:'',success(){},fail(){}
}) 

最后

为大家准备了一个前端资料包。包含54本,2.57G的前端相关电子书,《前端面试宝典(附答案和解析)》,难点、重点知识视频教程(全套)。



有需要的小伙伴,可以点击下方卡片领取,无偿分享

http://www.yayakq.cn/news/352246/

相关文章:

  • 自己建网站程序企业邮箱china
  • 提供网站建设公司电话杭州品格网站设计
  • 怎么做有声小说网站播音员淘宝网站的建设内容
  • 河南网站设计公司价格wordpress首页视频播放
  • 成都旅行社网站建设淮南医院网站建设
  • dz论坛做分类网站最好的关键词排名优化软件
  • 专业做运动服装的网站重庆交通网站建设
  • 做网站 技术便宜做网站价格
  • 微信分销网站建设官网wordpress主题怎么使用教程
  • 做终端客户网站网站设计权限
  • 网站主机有什么用福州公众号小程序制作公司
  • 简述电子政务系统网站建设的基本过程网站代码需要注意什么问题
  • 深圳企业网站建设推广服务WordPress vidropro
  • 阿克苏地区建设局网站网站编辑能在家做
  • 我国档案网站建设辽宁学网站建设专业学校
  • 哪个网站开发是按月付费的wordpress适合视频网站吗
  • 珠海做网站的网络公司上海刚刚宣布
  • 怎么做挖矿网站做网站如何计算工资
  • 不备案 没版权 网站帮人做分销网站违法么
  • 免费网络推广网站营销型企业网站分析与诊断
  • 遵义网站建设推广长沙网站排名方法
  • 德州网站建设哪家专业项目经历怎么填写
  • 合肥html5网站建设网站添加百度地图标注
  • 详细描述建设一个网站的具体步骤在线网页视频提取
  • Dw做网站怎么加logo100种宣传方式
  • 企业网站备案那么麻烦吗什么叫网站建设服务
  • 做外贸一般用什么网站硬件开发学什么专业
  • 有网站源码怎么建站一个网站的seo优化有哪些
  • 山西移动网站设计长沙医疗网站建设
  • 网站建设云wordpress 手机判断