node.js第八课(常用工具包util和事件EventEmitter)

在STM32上运行小波变换及神经网络算法——(一)单片机中小波算法编写 在单片机上实现离散小波变换的C代码,通过确定信号长度、小波分解层数、小波基名称后进行编写,并改写成了方便调用的结构体格式。 阅读详情
一、util全局变量
   1.util.inherits(constructor,superConstructor)
     此方法是一个实现对象间原型继承的函数。javaScript通过原型赋值来实现继承。
     定义了一个基础对象Base,它有sayHello(),原型方法为showName,使用Sub对象继承与Base,
     可访问showName方法,不可访问sayHello方法。 console.log(obj);//不对打印对象的原型函数;

   2.util.inspect(object,[showHidden],[depth],[colors])
     此方法是一个将任意对象转换为字符串的方法,通常用于调试和错误输出,它至少接受一个参数object。
     参数:object,即要转换的对象.
     showHidden     如果值为true,将会输出更多隐藏信息.
     depth   标识最大的递归的层数,如果对象很复杂,你可以指定层数以控制输出信息的多少。默认为2层,指定为null打印出来全部
     如果color为true,输出格式将会以ANSI颜色编码,通常用于在终端显示更漂亮的效果。
     案例:inspect.js
         var util = require('util');
         function Person(){
             this.name = 'octopus';
             this.toString = function(){
                 return this.name;
             }
         }
         var obj = new Person();
         console.log(util.inspect(obj));
         console.log(util.inspect(obj,true,2,true));
         可参考: http://nodejs.org/api/util.html

二、事件驱动events
   events是Node.js最重要的模版,原因是Node.js本身架构就是事件式的,而它提供了唯一的接口。所以开发Node.js是事件编程的基石。events模块不仅用于用户代码与Node.js下层事件循环的交互。还几乎被所有的模块依赖。
   1.事件发射器
     events模块只提供了一个对象。events.EventEmitter。EventEmitter的核心就是事件发射与事件监听器功能的封装。
     EventEmitter的每个事件由一个事件或若干个参数组成,事件名是一个字符串,通常表达一定的语义。对于每个事件,
     EventEmitter支持若干个事件监听器。当事件发射时,注册到这个事件的事件监听器被依次调用,事件参数作为回调函数参数传递。
     案例:events.js
     var events = require('events');
     //实例化事件对象
     var emitter = new events.EventEmitter();

     //注册事件监听Listener1
     emitter.on('someEvent',function(arg1,arg2){
         console.log('Listener1',arg1,arg2);
     });

     //注册事件监听Listener2
     emitter.on('someEvent',function(arg1,arg2){
         console.log('Listener2',arg1,arg2);
     });
     //触发事件
     emitter.emit('someEvent','octopus',2012);
     
     常用API的方法介绍:
     (1)EventEmitter.on(event,listener)为指定事件注册一个监听器,接受一个字符串event和一个回调函数listener
     (2)EventEmitter.emit(event,[arg1],[arg2]....) 发射event事件,传递若干可选参数到事件监听器的参数表
     (3)EventEmitter.once(event,listener) 为指定事件注册一个单次监听器,即监听器最多只会触发一次,触发后立刻解除该监听器。
     (4)EventEmitter.removeListener(event,listener)移除指定事件的某个监听器,listener必须是该事件已经注册过的监听器。
     (5)EventEmitter.removeAllListeners([event]) 移除所有事件的所有监听器,如果指定event,则移除指定事件的所有监听器。
     可参考: http://nodejs.org/api/events.html
   2.error事件
     EventEmitter定义了一个特殊的事件error,它包含错误的定义,我们在遇到异常的时候通常会发射error事件,
     当error事件被发射时,   EventEmitter规定如果没有相应的监听器,Node.js会把它当作异常,退出程序并打印调用栈,
     我们一般要为发射error的事件对象设置监听器,避免遇到错误后整个程序崩溃,例如:

     var events = require('events');
     var emitter = new events.EventEmitter();
     emitter.on('error');
   3.继承EventEmitter
     大多数时候我们不会直接使用EventEmitter(因为他定义的事件是全局的事件),而是在对象中继承它,包括 fs,net,http 在内的。
     只要是支持事件相应的核心模块都是EventEmitter的子类。
     为什么这样做呢?
        1.具有某个实体功能的对象实现事件的符合语义,事件的监听和发射应该是一个对象(比如说一个按钮)的发放。
        2.javaScript的对象机制基于原型,支持部分多重继承,继承EventEmitter不会打乱对象原有的继承关系
 

vxWorks下dosFs文件系统的创建 文件系统,是指操作系统根据目录和文件的组织形式在磁盘设备上应用的一种设备驱动,不同的文件系统对目录和文件有不同的限制(如目录名限制,文件大小限制等)。VxWorks支持多种文件系统,比较重要的有:1、dosFs:适用于块存取设备(比如硬盘、软盘),和MS-DOS文件系统兼容;2、rawFs:提供了一种简单的原始文件系统。该文件系统将整个硬盘当作一个单独的大文件;3、cdromFs:允许系统从按照I 阅读详情

相关推荐

第七章 Wi-Fi连接过程

系列文章目录 第一章 国内下载AOSP最新源码的方法 第二章 下载AOSP WiFi相关的代码 第三章 将源码导入Android Studio(无需编译idegen) 文章目录系列文章目录前言一、Wi-Fi连接是什么?二、Wi-Fi连接的过程1. 手动连接总结 前言 Wi-Fi连接分为下面几种过程,每种的流程都有些许差异: 手动连接 自动连接 在BSS之间漫游 Passpoint热点连接 一、Wi-Fi连接是什么? Wi-Fi连接是指STA(手机)连接到AP(无线路由器)的过程,这个过程分为链路

Frank.Zhang的专栏 2528

java中的inherits_node.js 下使用 util.inherits 来实现继承

上一篇博客说到了node.js继承events类实现事件发射和事件绑定函数,其中我们实现了一个公用基类 _base ,然后在模型中差异化的定义了各种业务需要的模型并继承 _base 公共基类.但是其中的继承是一笔带过,今天详细的说下node.js中继承.varevents=require('events');varutil=require('util');function_base(){th...

weixin_36374843的博客 476

利用ArcGIS的模型构建器实现批量投影栅格和批量克里金插值

博主要批量投影几百个栅格,但是ArcGIS中的投影栅格的批处理工具需要手动一条条设置参数,还是麻烦,因此学习了使用模型构建器(ModelBuilder)来批量投影栅格,可以导入需投影栅格的文件夹,然后迭代投影,并按栅格原名逐个输出到指定目录。 1.在工具箱里构建模型 在arctool box里右键点击空白处,选择【添加工具箱】,点击ArcGIS默认工作目录的工具箱进行添加,然后Toolbox就会被添加到ArcToolbox页面,右键点击Toolbox,选择“新建”-“模型” 2.编写模型 (1).

qq_36958801的博客 1万+

鸿蒙OS开发实例:【工具类封装-emitter组件间通信】

是一个针对 HarmonyOS 的事件驱动编程封装类,主要用于组件间的通信和数据传递。

鸿蒙的技术博客 1279

大模型在心律失常预测及治疗方案制定中的应用研究报告

目录一、引言1.1 研究背景与意义1.2 研究目的与方法1.3 研究创新点二、大模型技术概述2.1 大模型基本原理2.2 常见大模型类型及特点2.3 大模型在医疗领域的应用现状三、心律失常的术前预测与准备3.1 术前心律失常预测的重要性3.2 大模型在术前预测中的应用案例3.3 基于预测结果的术前准备方案四、术中监测与实时调整4.1 术中监测心律失常的方法与技术4.2 大模型辅助术中决策的机制4.3 实时调整手术方案的策略与实践五、术后恢复与并发症风险预测5.1 术后心律失常的监测与评估5.2 大模型预测术

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1599

基于EKF的UWB-IMU融合定位系统在农业机器人中的抗干扰优化与Matlab仿真

本文探讨了基于扩展卡尔曼滤波(EKF)的UWB-IMU传感器融合定位系统在农业机器人中的应用。通过Matlab仿真验证,该系统有效解决了农业环境中UWB信号遮挡和IMU累积误差问题,实现了厘米级高精度定位,显著提升了机器人在复杂场景下的抗干扰能力和导航可靠性。

numpy6sculptor的博客 625

鸿蒙NEXT开发Emitter工具类EmitterUtil(ArkTs)

鸿蒙NEXT开发Emitter工具类(ArkTs)

鸿蒙布道师 1213

深入解析经典蓝牙连接:从HCI命令到LMP协议的完整流程

本文深入解析经典蓝牙连接的完整流程,从设备发现、寻呼建立物理链路,到安全配对与加密的每一步。通过对照HCI LOG与AIR LOG,详细拆解了HCI命令与LMP协议报文的对应关系,帮助开发者精准定位连接问题,掌握蓝牙调试的核心方法。

weixin_29260291的博客 463

鸿蒙emitter 订阅事件封装 EmitterUtils

Emitter主要提供线程间发送和处理事件的能力,包括对持续订阅事件或单次订阅事件的处理、取消订阅事件、发送事件到事件队列等,为了好用封装了一个工具类

甄兴旺的博客 908

扣子(Coze)搭建智能体完整实战指南 —— 从零基础入门到写小说及其他需求扩展开发

随着大语言模型进入应用爆发期,我们正在经历从“寻找提示词”向“构建智能体”的范式转移。扣子(Coze)作为字节跳动推出的一站式AI智能体开发与运营平台,极大地降低了AI应用开发的门槛,让非技术人员也能快速搭建具备感知、决策、行动能力的智能体。 本文将手把手带你从零开始,在扣子平台上搭建一个功能完备的**小说创作智能体**,并基于此展示如何将同一套架构扩展到其他需求场景。无论你是写作爱好者、内容创作者,还是希望用AI赋能日常工作的职场人士,这套完整的技术方案都将帮助你快速上手。

huanghm88的专栏 638

【图像超分】论文复现:经典超分 | SAN的Pytorch源码复现,跑通源码,适配高版本的python/pytorch/cuda,使用EDSR-PyTorch进行训练和测试

本文介绍了单幅图像超分辨率重建方法SAN(二阶注意网络)的代码实现。文章详细说明了在高版本Python/Pytorch环境下适配SAN源码的方法,并提供了修改后的完整代码和预训练模型下载链接。 主要亮点包括: 将SAN模型实现整合到EDSR-Pytorch框架中,解决了高版本环境下的兼容性问题 提供了完整的数据集准备指南(DIV2K训练集和5个测试集) 给出了详细的测试命令,涵盖x2、x3、x4不同放大倍率 公开了预训练模型和可视化结果的下载资源 提供了修改后的适配高版本环境的代码。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 1415

node.js util全局变量 事件驱动events

一、util全局变量         1.util.inherits(constructor,superConstructor)             此方法是一个实现对象间原型继承的函数。javaScript通过原型赋值来实现继承,细节可参考云哥JS高级视频(原型)。              案例看  util/inherits.js             定义了一个基础对象Bas

Anonymous 750

飞牛 NAS 部署 Hermes Agent 全指南:打造 24 小时在线、自我进化的 AI 智能体!

当大多数人还在把 AI 当聊天机器人使用时,我已经把它部署到了家里的飞牛 NAS 上,让它 24 小时在线工作、记忆我的习惯、自动执行任务,甚至还能不断学习新的技能。今天带你从零搭建这个真正属于自己的 AI Agent。🚀

XiaoqiangClub的博客 1234

Node.js学习--基础知识(6)--常用工具util和事件EventEmitter

一、util全局变量 1.util.inherits(constructor,superConstructor) 此方法是一个实现对象间原型继承的函数。javascript通过原型赋值来实现继承。 案例看util/inherits.js 定义了一个基础对象Base,原型方法为showName,使用Sub对象继承与Base,可访问showName方法。 案例inherits.js 2.u

MENG_CHD的博客 768

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Node.js补充(事件循环 + EventEmitter + Buffer + stream + 全局对象 + util) -- 暑假Day14

目录Node.js补充事件循环EventEmitter 类Buffer(缓冲区)stream(流)全局对象util Node.js补充 Node.js的组成 NPM,是和Node.js一起安装的包管理工具 REPL,交互式解释器,就相当于在窗口中直接进行编辑,感觉没什么用 回调函数,异步编程的直接体现就是回调函数 阻塞代码:按顺序执行的代码 非阻塞代码:不按顺序,可以在加载外部文件之前执行后续显示代码 事件循环 Node.js 是单线程应用程序,里面的几乎每个API都支持回调函数 基本上所有的事

weixin_50948265的博客 218

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Node中的全局对象和全局变量

这个文章主要是对上一个文章的扩充util对象在Node环境已经安装好的前提下,使用util中已经定义的方法,只需要require('util')即可; uti是utility(功效,用途)的缩写

woshinannan的专栏 4046

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Node.js核心入门

前言: 因为以前学习Node.js并没有真正意义上的去学习它,而是粗略的学习了npm的常用命令和Node.js一些模块化的语法,因此昨天花了一天的时间看了《Node.js开发指南》一书。通过这本书倒是让我对Node.js的认识更为全面,但由于这本书出版时间过早,有些API已经发生了变化或已经被废弃,而对于学习Node.js来说,核心部分又是最为重要的一环,因此我配合官方文档对这本书的第四章-Node.js核心进行了总结与梳理,由于水平有限,如有疏漏与错误,请指正。 正文 核心模块是Node.js的心脏,主要

Kepler_II的博客 223

【Node系列】node中的函数

在Node.js中,函数是一段可重复使用的代码,它可以接受输入(参数),执行一系列操作,并返回一个结果(返回值)。以上是Node.js中常见的函数类型,但并不是全部类型。,它接受一个文件路径作为参数,并返回一个Promise对象。在Node.js中,函数可以根据不同的分类标准分为多种类型。匿名函数没有函数名,通常作为变量值、回调函数或立即执行函数表达式(IIFE)使用。箭头函数是ES6中引入的一种更简洁的函数表达方式,它没有自己的。下面是一个更复杂的函数示例,它使用Node.js的内置模块。

日常笔记/总结/系列知识梳理 1914

5. Node.js事件触发器

事件触发器events的使用方法 eventEmitter.on(eventName, listener)注册监听器 eventName | 事件名称 listener 回调函数。 eventEmitter.emit(eventName[, ...args]) 触发事件 eventName | 事件名称 ...args 参数 ...

m0_37657725的博客 500

(译)Node.js的 EventEmitter 教程

原文标题:Node.js EventEmitter Tutorial 原文链接:http://www.hacksparrow.com/node-js-eventemitter-tutorial.html 听说过 Node.js 中的 EventEmitter 吗?也许你知道大部分内置的 Node.js 库 都使用它,也许你总是对 EventEmitter 充满好奇,但是没有谁向你解释? 在这...

weixin_30652271的博客 90

node.js util全局变量和事件驱动events

一、util全局变量         1.util.inherits(constructor,superConstructor)             此方法是一个实现对象间原型继承的函数。javaScript通过原型赋值来实现继承,细节可参考云哥JS高级视频(原型)。              案例看  util/inherits.js             定义了一个基础对象Bas

dreamzuora的博客 571

Sails 核心事件系统详解:基于 EventEmitter 的钩子与路由生命周期事件指南

Sails 不仅是一个实时 MVC 框架,其应用实例本身就是一个 Node.js `EventEmitter`,核心框架的启动、路由绑定、请求分发等关键流程都通过一套约定好的事件对外广播。本文以仓库内 [lib/EVENTS.md](https://link.gitcode.com/i/23bcae3fb578250d2fd8f6db0630918e) 为骨架,系统梳理 Sails 生命周期事件、

gitblog_00841的博客 503

node.js中的事件发射器

一个类的事件发射器触发一个事件,其他类的其他函数可以侦听该事件。 库提供了用于发布事件和监听事件的框架的实现。 在节点上,许多对象可以发出事件。 事件发射器中的.on方法– 我们可以通过调用“ on ”方法中的这些对象之一,传入回调函数来侦听这些事件。 每当有一些可供读取的数据时,文件ReadStream就会发出“ data ”事件。 代码示例– var fs = requ...

danpu0978的博客 262

node util 继承 和 event 事件驱动

###1.util 全局变量 ######1.1util.inherits(constructor,superConstructor) 这里是一个实现对象间原型继承的函数。 代码如下: 声明一个People对象 var util=require('util'); function People(){ this.name = 'people name'; this.age=20; this....

weixin_34051201的博客 93

【Node.js】 模块

目录模块系统模块接口events模块util 模块fs 模块OS 模块Path 模块Net 模块DNS 模块Domain 模块http 模块url 模块gulp 模块Webpack 模块 模块系统 参考资料:Node.js模块系统 为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。 换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++

小数点儿_ 1876

node.js global object,util and so on

1 核心模块主要内容: 2 全局对象 3 常用工具 4 事件机制 5 文件系统访问 6 http服务器和客户端 7 8 global object: 9 所有的全局变量(除了global本身外)都是global object 的属性(attribute) 10 11 global object,globa...

weixin_34292287的博客 116
上一篇: node.js第七课(全局对象和全局变量)
下一篇: MongoDB中的_id和ObjectId
栖息
博客等级 码龄15年 64粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值