EventEmitter简单实现

NodeEvents 模块只定义了一个类,就是 EventEmitter,这个类在很多Node 本身以及第三方模块中大量使用,通常是用作基类被继承。

本内容,我们来把EventEmitterononceoffemit方法进行简单的手写实现。

阅读更多

贰:Interceptor拦截器和Axios类

接下来,我们应该看一下Axios类中究竟做了什么,到底是怎么发送请求的。因为Axios类中应用到了Interceptor,所以我们要先看一下拦截器是怎么实现的。

很遗憾,至于发送请求的详细内容需要到dispatchRequest方法和xhr适配器中才能看到了,在本章节Axios类中我们只能说到调用dispatchRequest方法这一步,所以发送请求的详细内容要留到下一章节来说了,先来看一下本章节的内容吧。

阅读更多

壹:axios默认配置

在上一节的入口文件中,我们都知道axios是基于默认配置创建的,那么这个默认配置到底配置了哪些东西呢?

这一节,我们就来看一看lib/defaults.js的源码内容。

阅读更多

零:axios目录结构与入口文件

本系列内容基于axios0.18.0版本,只对核心内容进行梳理,不会具体到每一个方法细节。至于一些辅助方法等内容,只会在碰到的时候说下这个方法做了什么,不会单独去看辅助方法。新版本的axios对于一些部分进行了修改,但大致是一样的。

axios的适配器adapter分别对xhrhttp做了处理,我们只关注用于浏览器端的xhr,对应用于nodehttp内容不做考虑。

阅读更多

NestJs项目搭建

作为一个前端开发人员,不免也想去窥探一下后端的世界。后端技术广袤无边,语言反而感觉不那么重要了。前端肯定最熟悉JavaScript,在不切换语言的情况下去学习后端,可以降低一些学习成本。所以准备通过学习NodeJs后端开发来更好的了解后端,而NestJs又是最火热的后端框架之一,学它不会有错的。

阅读更多

搭建cli脚手架

大家都会用到@vue/cli或者create-react-app这种脚手架,但是每个公司都或多或少有一些自己的基础框架。每次都从头搭建一个项目比较麻烦,所以准备搭建一个简单的脚手架方便生成项目代码。

阅读更多

01背包与完全背包问题

动态规划是刷题过程中的常见算法,有难有易,简单的如斐波那契数列问题很容易找到规律,难一些的就很容易钻牛角尖了,而背包问题又是动态规划的一个典型问题,这里就拿比较典型的01背包与完全背包问题做一下记录。

阅读更多

经典面试题[1,2,3].map(parseInt)解析

最近看到这道经典面试题[1,2,3].map(parseInt),本来想的很简单,不就是把1,2,3分别传入parseInt然后返回嘛,结果不应该是[1,2,3]嘛,但是看了答案才发现不是这么简单,还是要细心点多想想。。。

阅读更多

常用排序算法的JavaScript实现

之前做过常用排序算法的python实现,因为python的语法简单,个人喜欢用python去练习算法题目,毕竟自己是以JavaScript作为主力开发语言的,python仅仅知道基础语法,所以以后准备用JavaScript去练习算法。先把常用排序算法用JavaScript重新实现一遍吧。

阅读更多