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

某些网站网速慢如何制作网址

某些网站网速慢,如何制作网址,贵州建设公司网站,网站开发 html题记 node.js事件循环的使用方法 Node.js 是单进程单线程应用程序,但是因为 V8 引擎提供的异步执行回调接口,通过这些接口可以处理大量的并发,所以性能非常高。 Node.js 几乎每一个 API 都是支持回调函数的。 Node.js 基本上所有的事件机制都…

题记

        node.js事件循环的使用方法

        Node.js 是单进程单线程应用程序,但是因为 V8 引擎提供的异步执行回调接口,通过这些接口可以处理大量的并发,所以性能非常高。

        Node.js 几乎每一个 API 都是支持回调函数的。

        Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。

        Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事件观察者,如果有事件发生就调用该回调函数。

事件驱动模型 

        Node.js 使用事件驱动模型,当web server接收到请求(某个事件请求),就把它关闭然后进行处理,然后去服务下一个web请求。(异步)当这个请求完成,它被放回处理队列,当到达队列开头,这个结果被返回给用户。

        事件驱动模型非常高效可扩展性非常强,因为 webserver 一直接受请求而不等待任何读写操作。(这也称之为非阻塞式IO或者事件驱动IO)

        在事件驱动模型中,会生成一个主循环来监听事件,当检测到事件时触发回调函数。

        整个事件驱动的流程非常简洁。有点类似于观察者模式,事件相当于一个主题(Subject),而所有注册到这个事件上的处理函数相当于观察者(Observer)。

导入模块并创建 eventEmitter 对象

        Node.js 有多个内置的事件,可以通过引入 events 模块,并通过实例化 EventEmitter 类来绑定和监听事件。

// 引入 events 模块
var events = require('events');
// 创建 eventEmitter 对象
var eventEmitter = new events.EventEmitter();

 绑定事件

// 绑定事件及事件的处理程序
eventEmitter.on('事件名', 事件处理程序);
 

触发事件 

// 触发事件
eventEmitter.emit('事件名'); 

实例 

        创建main.js文件,下面是一个简单实例:

// 引入 events 模块

var events = require('events');

// 创建 eventEmitter 对象

var eventEmitter = new events.EventEmitter();

// 创建事件处理程序

var connectHandler = function connected() {

   console.log('ok');

}

// 绑定 connection 事件处理程序

eventEmitter.on('connection', connectHandler);

// 触发 connection 事件

eventEmitter.emit('connection');

// 引入 events 模块var events = require('events');// 创建 eventEmitter 对象var eventEmitter = new events.EventEmitter();// 创建事件处理程序var connectHandler = function connected() {console.log('ok');}// 绑定 connection 事件处理程序eventEmitter.on('connection', connectHandler);// 触发 connection 事件eventEmitter.emit('connection');

 

复杂实例 

 // 引入 events 模块
var events = require('events');
// 创建 eventEmitter 对象
var eventEmitter = new events.EventEmitter();
 
// 创建事件处理程序
var connectHandler = function connected() {
   console.log('连接成功。');
  
   // 触发 data_received 事件 
   eventEmitter.emit('data_received');
}
 
// 绑定 connection 事件处理程序
eventEmitter.on('connection', connectHandler);
 
// 使用匿名函数绑定 data_received 事件
eventEmitter.on('data_received', function(){
   console.log('数据接收成功。');
});
 
// 触发 connection 事件 
eventEmitter.emit('connection');
 
console.log("程序执行完毕。"); 

 // 引入 events 模块
var events = require('events');
// 创建 eventEmitter 对象
var eventEmitter = new events.EventEmitter();// 创建事件处理程序
var connectHandler = function connected() {console.log('连接成功。');// 触发 data_received 事件 eventEmitter.emit('data_received');
}// 绑定 connection 事件处理程序
eventEmitter.on('connection', connectHandler);// 使用匿名函数绑定 data_received 事件
eventEmitter.on('data_received', function(){console.log('数据接收成功。');
});// 触发 connection 事件 
eventEmitter.emit('connection');console.log("程序执行完毕。");

 结论

        在 Node 应用程序中,执行异步操作的函数将回调函数作为最后一个参数, 回调函数接收错误对象作为第一个参数。

后记 

        觉得有用可以收藏或点赞! 

http://www.ds6.com.cn/news/50301.html

相关文章:

  • 手机版网站做一下多少钱站长统计代码
  • 自己做简单网站杭州百度seo
  • vue使用于网站开发查询关键词排名工具
  • 北京网聘信息技术有限公司seo外链怎么做
  • 小程序网址链接提取宁波百度快照优化排名
  • 做网站需不需要服务器百度官网下载安装
  • 成都 网站建设培训东莞网站建设公司排名
  • 会展免费网站模板营销推广有哪些公司
  • 绍兴做团购的网站新站如何快速收录
  • 长沙会议网站设计哪家专业推广引流app
  • 厦门注册公司流程资深seo顾问
  • 网站推广渠道类型广东今天新闻最新消息
  • 做网站和c 哪个好绍兴seo排名公司
  • 教学平台网站建设合同网络营销策划书论文
  • 网站运营与管理的内容有哪些营销软件商城
  • 做百度网站接到多少客户电话微信推广平台自己可以做
  • 最专业网站建设公司如何做网络营销
  • 湖南企业网站任务推广引流平台
  • 自适应网站建设都找全网天下直通车推广计划方案
  • 通付盾 网站建设免费加客源
  • 做好的网站启用在线种子资源库
  • wordpress小说网站主题互联网营销的五个手段
  • 家教网站开发最常见企业网站有哪些
  • 国外建站程序百度平台商户电话号码
  • 桂城网站制作专业公司武汉seo网站排名优化
  • wordpress 迁移后空白网络优化公司排名
  • 加强司法机关网站建设怎么制作网站平台
  • 深圳+服装+网站建设最新中高风险地区名单
  • 国外网站上不去 dns网络推广怎么做好
  • 2015微信网站设计怎么在百度发布信息