位置: 编程技术 - 正文

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

  • 投资收益所得税前扣除
  • 外购免税农产品进项税额如何抵扣
  • 企业所得税季初不能是0
  • 小微企业应纳税所得额超过300万怎么办
  • 关联方交易的会计处理方法
  • 递延所得税资产和递延所得税负债
  • 手撕票几个点
  • 2019年小微企业六税两费减免
  • 自产自销农产品发票如何开具
  • 外出经营活动结束纳税人应当向经营地税务机关填报
  • 应付利润的核算内容
  • 风险纳税人还能开发票吗
  • 原材料盘盈审批后冲减
  • 基本医疗保险是什么?
  • 所得税预缴申报表
  • 个税手续费返还计入哪个科目
  • 金税盘点了没反应
  • 新注册公司第一次怎么报税
  • 劳务费个人还需要交税吗
  • 政府会计提取专用基金
  • 生产酒的税收是多少
  • 参加抽奖活动中奖却不发奖品
  • 报销员工午餐费怎么入账
  • 公允价值变动借方是增还是减
  • 怎么关闭iphone手机
  • kali渗透工具安装
  • 家用电脑分为哪几类
  • php语言之面向对象编程 educoder
  • PHP:mcrypt_enc_get_key_size()的用法_Mcrypt函数
  • php与js交互
  • 在西伯利亚森林中是真实故事吗
  • php 上传文件
  • v_if和v_for
  • php分页技术
  • 哈希表散列函数
  • 为什么开发票能抵税
  • 出纳报销时应注意什么
  • druid数据库连接池
  • 织梦怎么改文字
  • 房租押金不退还的账务怎么处理
  • 发票已开不确认收入可以做吗?
  • 充电桩的安装费是多少
  • 企业税预缴在哪里
  • 现金流量表编制实操
  • 行政事业单位应用方案总账,财务分析
  • 住宿发票抵税
  • 租入的房子再出租用交房产税吗?
  • 收到股权认购款怎么做账
  • 亏本处理产品怎么做账
  • 签订购货合同,计划下月购入的固定资产
  • 开发成本六大类
  • 会计做账什么意思
  • 微信怎么帮别人代缴社保
  • 企业初建
  • 工业企业的材料销售收入应计入什么
  • 一家企业至少要运转几个月以上
  • Ubuntu下MySQL及工具安装配置详解
  • mysql优化查询
  • sql如何对两个表数据求和
  • mysql日志有哪些
  • 容器内存限制
  • winXP系统下qq不能视频聊天该怎么办?
  • armcc.exe
  • win7旗舰版开机
  • mac 地址栏
  • centos暂停
  • 电脑windows8怎么样
  • javascript编程技术
  • unity怎么bake
  • cocos2d教程
  • jqueryui easyui
  • shell脚本监控日志输出
  • jquery操作table
  • 使用nodejs开发后端
  • android入门视频教程
  • unity游戏开发常用技术
  • jq复选框选中触发事件
  • json python 字段读取
  • 代发工资法律依据
  • 国家税务局什么时候放假
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设