当前位置: 网站首页>小程序开发>400电话办理

池州公众号代运营公司

发表日期: 2022-07-02 13:49:30 浏览次数:28

池州公众号代运营公司

网站建设.png

网站不光有静态和动态之分,还有一种伪静态网站。这是目前网站建设公司常用的网页方式,伪静态光听名字,相信大家都能明白个几分,伪实际上还是假的,只是伪装成静态,实质上还是动态的,在数据的处理过程上和动态的一样。只是在网址的形式上看,伪静态的地址和静态的可以一摸一样,普通的访问者不容易分出是真静态还是伪静态。举个例子,大家可以去看看上海网站建设公司 明企的官网。也是采用伪静态技术制作的。

伪静态网站

为什么要把网站做成伪静态,因为蜘蛛一般也会把这种形式的网页当做是静态的来处理。从技术角度来讲,其实伪静态相对动态来说,更加消耗服务器资源,因为网页地址需要按事先设定好的伪静态规则来进行正则匹配,这一个过程是消耗资源的,所以一般都采用缓存来解决。这种形式,比动态的网址多了一个匹配筛选的过程。


上海网站建设 明企还要说明一下,网站想要生成伪静态,有一个问题很关键。就是要看您的虚拟主机是不是支持。所以在选择网站空间的时候,就需要和网络公司确认好,网站空间支持哪些功能。


以下实例通过 connection(连接)事件演示了 EventEmitter 类的应用。

创建 main.js 文件,代码如下:

var events = require('events');var eventEmitter = new events.EventEmitter();// 监听器 #1var listener1 = function listener1() {
   console.log('监听器 listener1 执行。');}// 监听器 #2var listener2 = function listener2() {
  console.log('监听器 listener2 执行。');}// 绑定 connection 事件,处理函数为 listener1 eventEmitter.addListener('connection', listener1);// 绑定 connection 事件,处理函数为 listener2eventEmitter.on('connection', listener2);var eventListeners = eventEmitter.listenerCount('connection');console.log(eventListeners + " 个监听器监听连接事件。");// 处理 connection 事件 eventEmitter.emit('connection');// 移除监绑定的 listener1 函数eventEmitter.removeListener('connection', listener1);console.log("listener1 不再受监听。");// 触发连接事件eventEmitter.emit('connection');eventListeners = eventEmitter.listenerCount('connection');console.log(eventListeners + " 个监听器监听连接事件。");console.log("程序执行完毕。");

以上代码,执行结果如下所示:

$ node main.js2 个监听器监听连接事件。监听器 listener1 执行。监听器 listener2 执行。listener1 不再受监听。监听器 listener2 执行。1 个监听器监听连接事件。程序执行完毕。

error 事件

EventEmitter 定义了一个特殊的事件 error,它包含了错误的语义,我们在遇到 异常的时候通常会触发 error 事件。

当 error 被触发时,EventEmitter 规定如果没有响 应的监听器,Node.js 会把它当作异常,退出程序并输出错误信息。

我们一般要为会触发 error 事件的对象设置监听器,避免遇到错误后整个程序崩溃。例如:

var events = require('events'); var emitter = new events.EventEmitter(); emitter.emit('error');

运行时会显示以下错误:

node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: Uncaught, unspecified 'error' event. at EventEmitter.emit (events.js:50:15) at Object.<anonymous> (/home/byvoid/error.js:5:9) at Module._compile (module.js:441:26) at Object..js (module.js:459:10) at Module.load (module.js:348:31) at Function._load (module.js:308:12) at Array.0 (module.js:479:10) at EventEmitter._tickCallback (node.js:192:40)

继承 EventEmitter

大多数时候我们不会直接使用 EventEmitter,而是在对象中继承它。包括 fs、net、 http 在内的,只要是支持事件响应的核心模块都是 EventEmitter 的子类。

为什么要这样做呢?原因有两点:

首先,具有某个实体功能的对象实现事件符合语义, 事件的监听和发生应该是一个对象的方法。

其次 JavaScript 的对象机制是基于原型的,支持 部分多重继承,继承 EventEmitter 不会打乱对象原有的继承关系。

  1. 1、eventEmitter.on()与eventEmitter.addListener()没有区别,且一个事件可以绑定多个回调函数;

    2、若事件队列中出现一个未绑定事件则触发error事件,若未绑定 error事件则程序抛出异常结束执行

    THMAIL

       THMAIL

      555***QQ.COM

    5年前 (2018-01-10)
  2.    1.0版

      187***17005@163.com

       参考地址

    14

    EventEmitter 里面的 error 事件,EventEmitter 即使绑定了 error 事件,也是不会输出的。而是会在控制台打印该异常的堆栈信息,并结束进程。 获取异常只能通过 try catch。

    eventEmitter.on('error',function(err){
        console.error('Error:',err);});

    我测试了一下,绑定 error 事件。只能自己触发,eventEmitter.emit('error'); 当没有错误时,会在控制台打印 Error:undefined。有错误时,不会打印,直接打印该异常的堆栈信息,并结束进程。

    1.0版

       1.0版

      187***17005@163.com

       参考地址

    4年前 (2018-05-16)
  3.    tiandashu

      107***5714@qq.com

    7

    1、使用类方法 listenerCount 获取指定事件的监听数量替代方案。

    eventEmitter.listeners('connection').length

    2、removeListener('connection',callback); 此处参数 callback 必须和监听器中的回调函数是同一个,否则不生效。

    tiandashu

       tiandashu

      107***5714@qq.com

    4年前 (2018-06-21)
  4.    sakura_rain

      271***2293@qq.com

    15

    如果大家学过类似的语言可以深切感受到,on 和 emit的真正含义。

    举个例子:

    // 注册一个监听事件eventEmitter.on('time_delay_event', function () {console.log('time_delay_event执行', new Date().getTime());    });// 执行一次setTimeout(function () {eventEmitter.emit('time_delay_event');}, 2000);// 在尝试一次setTimeout(function () {eventEmitter.emit('time_delay_event');}, 4000);

    一次注册,不被销毁的情况下可以多次调用执行。

    这也是它和 once 之间的区别。

    •  on:注册

    •  emit:执行


池州公众号代运营公司

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: https://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 昌平殡葬| 朝阳殡葬|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878