位置: 编程技术 - 正文

轻松创建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项目)

  • 增值税发票开票软件金税盘
  • 支持疫情防控捐赠语言
  • 税金及附加怎么记忆
  • 个人所得税六项专项附加扣除是什么
  • 跨月的增值税普票作废步骤
  • 税控服务费全额抵扣增值税申报表中哪一栏
  • 一般纳税人印花税的计算公式
  • 房屋买卖终止协议
  • 会计核算过程中的计量尺度通常有
  • 支付佣金和手续费一样吗
  • 销售金额计算抵增值税吗
  • 其他货币资金包括
  • 折扣折让的销售方式有哪些
  • 客户要开票资料干嘛
  • 个人所得税怎么查
  • 2017年7月1日开始实施的税法新规
  • 营改增的项目
  • 受赠资产的价值和由捐赠企业负担的增值税
  • 大额联行号和开户行号是一样的吗
  • 软件企业即征即退账务处理
  • 企业转让库存股,应按实际收到的金额
  • 去掉右键菜单中的快捷键
  • 评估增值的账务处理
  • 应付账款暂估借方余额怎么处理
  • 企业所得税税负率多少合适
  • 新个人所得税的发展现状
  • php数组函数面试题
  • 使用与保养
  • 权益法投资收益在年末确认
  • 视同销售货物服务无形资产
  • 最大交易笔数什么意思
  • 交易性金融资产属于什么科目
  • 支付临时工的工资怎么做账
  • 公司的土地
  • 完美解决显卡利用率低
  • segment anything model github
  • mysql刷新数据
  • api接口应用举例
  • 开源ei
  • vf中显示命令
  • 《visual c++游戏编程基础》
  • 电影院是否征收文化建设事业费
  • 企业报表年报
  • 税盘显示已反写
  • 年终奖是以工资形式发放吗
  • python如何开发系统
  • 给子公司注资怎么做账
  • 应收账款的账龄怎么分析
  • 个人抬头的发票可以入账吗
  • 运输途中的合理损耗计入入账价值
  • 发票入账抵扣什么意思
  • 职工工资如何计算天数
  • 工地会计怎么做账
  • 钱汇错了报警有用吗
  • 企业日常发放的贷款
  • 小额零星支出是什么意思
  • 汇算清缴要补交0.01怎么调成0
  • 医院医保会计的岗位职责
  • 黑白电子版照片如何变成彩色
  • 企业和债权人有什么利益冲突
  • linux系统中cron命令
  • win8.1 multiple edition
  • solaris更改文件权限
  • win10屏幕亮度怎么调节快捷键
  • linux关闭进程kill
  • win7系统电脑图标不见了
  • xp无法启动如何修复
  • dos 批处理
  • opengl 生成图片
  • python如何用
  • python-shell
  • javascript网页游戏制作教程
  • grade 编译
  • jqgrid 动态表头
  • easyui加载数据慢
  • 天津地税局网上营业厅
  • 青海的医疗保险费是多少钱
  • 国家税务局的单位性质是什么
  • 残疾人有车能否坐公交车
  • 汽车维修费税率是13还是6
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设