接下来我们删除 input.txt 文件,执行结果如下所示:
程序执行完毕 Error: ENOENT, open 'input.txt'
因为文件 input.txt 不存在,所以输出了错误信息。
【建站服务】云南省玉溪外贸网站建设-双语网站制作-企业中英文网站优化推广-多语言集团网站定制开发-域名申请
作者: 风兰 . 阅读量: 33 . 发表时间:2022-09-21 01:58:51
上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
云南省玉溪外贸网站建设-双语网站制作-企业中英文网站优化推广-多语言集团网站定制开发

地名 | 区划代码 | 面积(平方千米) | 人口(万人) | 政府驻地 |
|---|---|---|---|---|
玉溪市 | 530400 | 15285 | 214 | 红塔区 |
红塔区 | 530402 | 1004 | 43 | 玉兴街道 |
江川区 | 530403 | 850 | 28 | 大街街道 |
通海县 | 530423 | 721 | 28 | 秀山街道 |
华宁县 | 530424 | 1313 | 21 | 宁州街道 |
易门县 | 530425 | 1571 | 17 | 龙泉街道 |
峨山彝族自治县 | 530426 | 1972 | 15 | 双江街道 |
新平彝族傣族自治县 | 530427 | 4223 | 27 | 桂山街道 |
元江哈尼族彝族傣族自治县 | 530428 | 2858 | 21 | 红河街道 |
澄江市 | 530481 | 773 | 18 | 凤麓街道 |
红塔区 |
街道(9)·玉兴街道·凤凰街道·玉带街道·北城街道·春和街道·李棋街道·大营街街道·研和街道·高仓街道 乡(2)·小石桥彝族乡·洛河彝族乡 |
江川区 |
街道(1)·大街街道 镇(4)·江城镇·前卫镇·九溪镇·路居镇 乡(2)·安化彝族乡·雄关乡 |
澄江市 |
街道(2)·凤麓街道·龙街街道 镇(4)·右所镇·阳宗镇·海口镇·九村镇 |
通海县 |
街道(2)·秀山街道·九龙街道 镇(4)·杨广镇·河西镇·四街镇·纳古镇 乡(3)·里山彝族乡·高大傣族彝族乡·兴蒙蒙古族乡 |
华宁县 |
街道(1)·宁州街道 镇(3)·盘溪镇·华溪镇·青龙镇 乡(1)·通红甸彝族苗族乡 |
易门县 |
街道(2)·龙泉街道·六街街道 镇(1)·绿汁镇 乡(4)·浦贝彝族乡·十街彝族乡·铜厂彝族乡·小街乡 |
峨山彝族自治县 |
街道(2)·双江街道·小街街道 镇(3)·甸中镇·化念镇·塔甸镇 乡(3)·岔河乡·大龙潭乡·富良棚乡 |
新平彝族傣族自治县 |
街道(2)·桂山街道·古城街道 镇(4)·扬武镇·漠沙镇·戛洒镇·水塘镇 乡(6)·平甸乡·新化乡·建兴乡·老厂乡·者竜乡·平掌乡 |
元江哈尼族彝族傣族自治县 |
街道(3)·红河街道·澧江街道·甘庄街道 镇(2)·曼来镇·因远镇 乡(5)·龙潭乡·羊街乡·那诺乡·洼垤乡·咪哩乡 |
接下来我们删除 input.txt 文件,执行结果如下所示:
程序执行完毕 Error: ENOENT, open 'input.txt'
因为文件 input.txt 不存在,所以输出了错误信息。
云南省玉溪外贸网站建设-双语网站制作-企业中英文网站优化推广-多语言集团网站定制开发
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站



岳小弟
shu***zizuo2018@126.com
注:Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。
什么是单进程单线程?直接读到再去敲实例,根本不理解到底是什么意思。这个问题就必须讲下什么是进程,什么是线程。
进程:CPU执行任务的模块。线程:模块中的最小单元。
例举:cpu比作我们每个人,到饭点吃饭了。可以点很多菜(cpu中的进程):宫保鸡丁,鱼香肉丝,酸辣土豆丝。每样菜具体包含了哪些内容(cpu每个进程中的线程):宫保鸡丁(详情:黄瓜、胡萝卜、鸡肉、花生米)。而详情构成了宫保鸡丁这道菜,吃了以后不饿。就可以干活了,cpu中的进程里的线程也是同理。当线程完成自己的内容将结果返回给进程,进程返回给cpu的时候。cpu就能处理日常需求。
岳小弟
shu***zizuo2018@126.com
单进程单线程:一盘炒苦瓜,里面只有苦瓜。
单进程多线程:一盘宫保鸡丁,里面有黄瓜、胡萝卜、鸡肉、花生米
lu
bai***tar@gmail.com
首先说事件
事件就是需要 eventEmitter.on 去绑定一个事件 通过 eventEmitter.emit 去触发这个事件其次说的是 事件的 接收 和 发生 是分开的 就像 一个外卖店你可以不停的接受很多订单, 接受以后开始告诉厨师去做外卖, 做好的外卖对应的外送给每个用户,如果单线程的话那只能是接收一个订单, 做好以后在接收下一个外卖订单,明显效率非常低。
事件可以不停的接受不停的发生也是为了提高效率。
lu
bai***tar@gmail.com
Java开发老菜鸟
sam***@foxmail.com
1、eventEmitter.emit 是触发事件(事件请求),eventEmitter.on是绑定处理事件的处理器(事件处理),事件的请求和处理是分开的,所以是异步。
2、如果把下面两个例子写在一起执行:
//例子1 var fs = require("fs"); fs.readFile('text.txt', function(err, data) { if (err) return console.error(err); console.log(data.toString()); console.log("end"); console.log("***********************"); }); //例子2 var events = require("events"); var eventEmitter = new events.EventEmitter(); var connectHandler = function connected() { console.log("connnect successfully !"); eventEmitter.emit("after_connect"); } eventEmitter.on("connected", connectHandler); eventEmitter.on('after_connect', function() { console.log("after connect"); }); eventEmitter.emit("connected"); console.log("event emitter end");你会发现,例子 2 先输出,例子 1 后输出,可以验证是异步的,因为例子 1 需要进行 IO 耗时较长,但是例子 2 是直接输出信息,耗时较短,在两者几乎同时执行的情况下,例子 2 优先执行完。
Java开发老菜鸟
sam***@foxmail.com
韩非
171***818@qq.com
事件处理例子执行顺序如下:
var events = require('events'); var eventEmitters = new events.EventEmitter(); var connectHandle = function connected(){ console.log('再执行eventHandle'); eventEmitters.emit('data-receive') } eventEmitters.on('data-receive',function(){ console.log('最后接收数据'); }) eventEmitters.on('connection',connectHandle); console.log('先执行connection'); eventEmitters.emit('connection'); console.log('程序处理完成');韩非
171***818@qq.com
junwind
865***609@qq.com
这一篇里,定义的匿名函数使用了函数名,其实不加更优:
var connectHandler = function () { console.log('连接成功。'); eventEmitter.emit('data_received'); } eventEmitter.on('connection', connectHandler);//注册一个connection事件,connectHandler为其处理程序或者直接用:
eventEmitter.on('connection', function () { console.log('连接成功。'); eventEmitter.emit('data_received'); });