作家
登录

[译]理解Node.js事件驱动机制

作者: 来源: 2017-08-16 12:04:42 阅读 我要评论

 a non-zero exit code. 

另一种处理异常的方法是在监听全局的 uncaughtException 过程事宜。 然而,应用该事宜全局捕获缺点并不是一个好办法。

关于 uncaughtException,一般都邑建议你避免应用它,然则如不雅必须用它,你应当让过程退出:

  1. process.on('uncaughtException', (err) => { 
  2.   // something went unhandled. 
  3.   // Do any cleanup and exit anyway! 
  4.  
  5.   console.error(err); // don't do just that. 
  6.  
  7.   // FORCE exit the process too. 
  8.   process.exit(1); 
  9. });  

然则,假设在同一时光产生多个缺点事宜,这意味着膳绫擎的 uncaughtException 监听器将被多次触发,这可能会引起一些问题。

EventEmitter 模块裸露了>

  • // first 
  • withTime.on('data', (data) => { 
  •   console.log(`Length: ${data.length}`); 
  • }); 
  •  
  • // second 
  • withTime.on('data', (data) => { 
  •   console.log(`Characters: ${data.toString().length}`); 
  • }); 
  •  
  • withTime.execute(fs.readFile, __filename);  
  • 如不雅你想定义一个新的监听函数,然则欲望它可以或许第一个被履行,你还可以应用 prependListener 办法:

    1. const readFileAsArray = function(file, cb) { 
    2.   fs.readFile(file, function(err, data) { 
    3.     if (err) { 
    4.       return cb(err); 
    5.     } 
    6.     const lines = data.toString().trim().split('\n'); 
    7.     cb(null, lines); 
    8.   }); 
    9. };  
    1. withTime.on('data', (data) => { 
    2.   console.log(`Length: ${data.length}`); 
    3. }); 
    4.  
    5. withTime.prependListener('data', (data) => { 
    6.   console.log(`Characters: ${data.toString().length}`); 
    7. }); 
    8.  
    9. withTime.execute(fs.readFile, __filename);  

    上述代铝闼楝Charaters 信息将起首被输出。

    上述代码会先输出 Length 信息,再输出 Characters 信息,履行的次序与注册的次序保持一致。

    最后,你可以用 removeListener 函数来删除某个监听器函数。

    【编辑推荐】

    1. 10个JavaScript可贵
    2. 大年夜指向看JavaScript中的可贵
    3. 在Node.js中应用MySQL&MySQL JavaScript客户端
    4. JavaScript进阶之深刻懂得数据双向绑定
    5. 测试JavaScript函数的机能
    【义务编辑:庞桂玉 TEL:(010)68476606】

      推荐阅读

      反腐有了大数据“侦探”

    市纪委经由过程对大年夜数据云与干部填报的家庭房产等情况的量化数据比对,敏捷排查出漏报瞒报人员,进而大年夜干部工作、生活相干事项着手,抓早抓小、大年夜严监管,教导抢救了大年夜批干部,起到了强大年夜的教导>>>详细阅读


    本文标题:[译]理解Node.js事件驱动机制

    地址:http://www.17bianji.com/lsqh/36743.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)