![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
nodejs
文章平均质量分 51
了缺
这个作者很懒,什么都没留下…
展开
-
设计模式结构型和行为型的感悟-续
es6中有个 Promise 对象。只要接触过的都知道他是一个行为行的模式,我认为他是责任链。但是我现在想说一个观点,抛开Promise的场景,注意力放在他的结构上。并且稍微变换下Promise对象。假设如下:let p = Promise.resolve()p.then(x=>x).then(x=>x)# 开始变换p.then(x=>p).then(x=>p)这样就永远返回p对象了。接着继续变换p.then(x=>{ p.手 = 机械手 return.原创 2022-01-13 03:54:03 · 226 阅读 · 0 评论 -
nodejs debug模块源码解析
最近发生了一个特别诡异的问题, 无奈只能一个一个模块去去解读,包管理是好,但遇到一些诡异的问题, 只能一行一行源码去读, 索性是开源的, 如果非开源的。。。边读边写加深印象作为一个debug工具基本功能应该具备以下几点打印日志(核心功能)显示 区分 不同的日志控制 输出 不同的日志开启关闭 日志我们带着这些需求去看这个模块的源码,首先我们看下文件结构index.js (入口文...原创 2019-07-02 19:04:45 · 535 阅读 · 0 评论 -
小记 events.EventEmitter.call
events.EventEmitter.call(this); 初始化父类的功能, 跟 super()是一个意思.不想看废话的就不用往下看了var events = require('events');var util = require('util');var a = function () { events.EventEmitter.call(this);};util.inh...原创 2019-07-11 15:22:04 · 1041 阅读 · 2 评论 -
浅析node ws@1.1.5(上-服务器篇)
ws 是websocket协议的实现。为什么是1.1.5, 因为是 socket.io 的前提模块。所以以后会说 socket.io 。下面是一些参考资料,建议先了解一下 (不了解的话就不要继续看了, 因为我说的都是废话,这篇也不会讲这些, 主要是研究ws的实现过程)WebSocket廖雪峰WebSocket 详解WebSocket 协议 RFC 文档http和socket之长连接和短连...原创 2019-07-30 17:54:51 · 424 阅读 · 0 评论 -
浅析node ws@1.1.5(中-客户端篇)
这篇主要分析ws的客户端var WebSocket = require('ws');var ws = new WebSocket('ws://127.0.0.1:19999');ws.on('open', function open() { ws.send(...);});ws.on('message', function message(data, flags) { ...})...原创 2019-08-12 14:00:00 · 540 阅读 · 0 评论 -
浅析node ws@1.1.5(下-交互篇)
前两篇是严重划水跑题的,这篇是交互篇,算是正片吧。前两篇文章分析出 一开始都是通过 upgrade 事件进行交互的, 所以这篇也是从 upgrade 开始进行分析...原创 2019-08-22 16:54:31 · 266 阅读 · 0 评论