位置: 编程技术 - 正文

轻松创建nodejs服务器(8):非阻塞是如何实现的(node.js怎么搭建服务器)

编辑:rootadmin

推荐整理分享轻松创建nodejs服务器(8):非阻塞是如何实现的(node.js怎么搭建服务器),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:创建nodejs项目的步骤,node.js创建服务,node.js怎么创建js文件,如何创建node项目,如何使用nodejs创建web服务器,创建nodejs项目的步骤,创建nodejs项目的步骤,如何使用nodejs创建web服务器,内容如对您有帮助,希望把文章链接给更多的朋友!

这节我们来了解一下nodejs实现非阻塞操作的方法。

我们先来修改一下 start的处理程序:

这段代码,创建了一个新的变量content(初始值为“empty”),执行“ls -lah”命令,将结果赋值给content,最后将content返回。

我们引入了一个新的Node.js模块,child_process,之所以用它,是为了实现一个既简单又实用的非阻塞操作:exec()。

那么exec()做了什么呢?

轻松创建nodejs服务器(8):非阻塞是如何实现的(node.js怎么搭建服务器)

它从Node.js来执行一个shell命令。在上面的例子里,我们用它来获取当前目录下所有的文件(“ls -lah”),然后,当/startURL请求的时候将文件信息输出到浏览器中。

我们启动服务器,访问“ empty。

exec()发挥作用了,有了它,我们可以执行非常耗时的shell操作而无需迫使我们的应用停下来等待该操作。

虽然如此,但是页面输出的内容似乎不是我们想要的结果。

我们来分析一下原因:

我们的代码是同步执行的,这就意味着在调用exec()之后,Node.js会立即执行 return content ;

在这个时候,content仍然是“empty”,因为传递给exec()的回调函数还未执行到——因为exec()的操作是异步的。

下一节我们将介绍如何解决这个问题。

轻松创建nodejs服务器(7):阻塞操作的实现 我们来看一下什么是阻塞操作;我模拟一个sleep()方法来使hellostar延迟秒打印。requestHandlers.jsfunctionstart(){console.log("Requesthandler'start'wascalled.");functionsleep(

轻松创建nodejs服务器():处理POST请求 目前为止,我们做的服务器没有实际的用处,接下来我们开始实现一些实际有用的功能。我们要做的是:用户选择一个文件,上传该文件,然后在浏览

轻松创建nodejs服务器():处理上传图片 本节我们将实现,用户上传图片,并将该图片在浏览器中显示出来。这里我们要用到的外部模块是FelixGeisendrfer开发的node-formidable模块。它对解析上传的

标签: node.js怎么搭建服务器

本文链接地址:https://www.jiuchutong.com/biancheng/374202.html 转载请保留说明!

上一篇:轻松创建nodejs服务器(9):实现非阻塞操作(创建nodejs项目的步骤)

下一篇:轻松创建nodejs服务器(7):阻塞操作的实现(如何创建node项目)

  • 单位如何代个人交社保
  • 控股子公司注销了可以起诉总公司吗怎么办
  • 三项经费包括在哪些内容
  • 什么时候用以前年度损益调整什么时候用年初未分配利润
  • 凭发票还是结算票据
  • 专用发票抬头一定要打完整吗
  • 土地使用权分割转让依据
  • 如何在房产证上加父母名字
  • 验签失败的发票追不回来怎么办
  • 房地产增值税怎么算举例说明
  • 合并报表时存货怎么处理
  • 受托加工费直接计入生产成本
  • 办公室零食采购台账
  • 医院其他收入包括哪些项目
  • 预收房款如何申报缴纳增值税
  • 出口用的增值税税率
  • 怎么确认权益性投资收益收入?
  • 出口退税系统怎么导入数据
  • 哪些支出可以在计算企业应纳税所得额时加计扣除
  • 包装物及其押金的消费税的注意事项
  • 事业单位 年终
  • win10虚拟机安装win7
  • 控制上网速度的软件
  • 怎么操作win10系统
  • win10专业版技巧
  • 出售使用过的设备
  • 固定资产资产评估
  • linux系统开机黑屏怎么办
  • linux使用cp
  • composer.json和composer.lock
  • PHP:xml_parser_free()的用法_XML解析器函数
  • 弥补亏损需要注意的事项
  • dell oemdrv
  • 三元运算符判断闰年php
  • VUE -- defineExpose
  • 蓬莱德尔塔
  • 营业额500万算什么企业
  • 写字楼租赁房产税
  • php自动化脚本
  • vue+echarts
  • react脚手架搭建项目
  • smitty命令用法
  • 一切皆对象什么意思
  • 学电脑的网站
  • access speed
  • sql server 2005安装失败
  • 辅助账簿属于会计档案吗
  • 贷款利息收入要交增值税吗
  • 在建工程借款利息计入哪里
  • 应付账款与实际付款有差异如何分录
  • 公司账户收入多少要扣税
  • 股东不能参与公司运营和决策,可以起诉吗
  • 记帐凭证会计处理程序及其应用
  • 商品过期怎么做分录
  • 工业企业增值税负率一般控制在多少
  • mysql拆表迁移数据
  • sql server如何打开mdf格式文件
  • mysql命令执行顺序
  • sqlserver 优化配置
  • 7.0 Release i386 DVD iso 下载
  • window10预览在哪里找
  • xp怎么隐藏运行的程序
  • win2008远程桌面闪退
  • win7任务栏快捷启动如何设置
  • ubuntu误删除内核
  • mac系统常见问题
  • rdclient怎么用win10怎么设置
  • 微软kudo
  • cocos2dx开发的游戏有哪些
  • [置顶]津鱼.我爱你
  • ssh远程登录脚本
  • TNet Tasharen Networking
  • python常见的格式化输出小结
  • unity打包安卓apk
  • grade 编译
  • flask框架官方文档
  • 广东增值税电子普通发票图片
  • 境外所得税额扣除的计算
  • 应缴增值税
  • 18个税种征税范围
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设