
node.js
杨周龙
这个作者很懒,什么都没留下…
展开
-
Node.js Event loop 图解
直接上自己制作的流程图原创 2022-01-18 17:29:58 · 515 阅读 · 0 评论 -
jest 单元测试模拟模块设置动态值
在单元测试中需要对组件进行动态、极端、正常状态测试,如果组件里使用了api那么我们想对组件进行接口多种不同响应进行测试时候就需要对模块进行动态值设置。mockFun.mockImplementation接受应作为模拟的实现使用的函数。模拟本身仍然会记录所有进入的调用以及来自自身的实例–唯一的区别是,在模拟被调用时也将执行实现。使用mockImplementation我们可以在测试过程中修改mock的值。这样我们就可以实现多种接口状态模块import { Login } from '@/api/lo.原创 2021-05-13 15:29:34 · 947 阅读 · 0 评论 -
Javascript性能优化【内联缓存】 V8引擎特性
引用官方的描述:内联缓存(Inline caching)是部分编程语言的运行时系统采用的优化技术,最早为Smalltalk开发。内联缓存的目标是通过记住以前直接在调用点上方法查询的结果来加快运行时方法绑定的速度。内联缓存对动态类型语言尤为有用,其中大多数(如非全部)方法绑定发生在运行时,因此虚方法表通常无法使用。原创 2021-02-23 14:48:14 · 484 阅读 · 0 评论 -
javascript V8引擎垃圾收集机制
V8引擎使用的垃圾收集机制是标记清除,那么javascript在垃圾收集会阻塞其他程序执行。V8引擎使用了增量标记的方式进行优化增量标记V8不是直接对整个栈堆遍历标记,而是标记一部分堆后回复正常执行。下次GC将从上一次停止对位置继续进行标记。这样允许在正常执行期间非常短对暂停。...原创 2021-02-23 11:45:48 · 205 阅读 · 0 评论 -
关于 NODE.js 并行线程 worker_threads 的使用与详解。
javascript 是单线程,那么node.js属于服务端语言改如何实现其他语言中的并发线程执行呢?在node V10只有 child_process,cluster的API来开启多子进程,多进程。进程并不是子线程,无法内存共享。在nodeV10后引入worker_threads API概念。worker_threadsnode官方文档注明了:worker_threads 模块允许使用并行地执行 JavaScript 的线程。与 child_process 或 cluster 不同, wor.原创 2021-01-27 00:02:37 · 8100 阅读 · 5 评论 -
javascript 中文排序 localeCompare
localeCompare()方法返回一个数字来指示一个参考字符串是否在排序顺序前面或之后或与给定字符串相同。 新的locales、options 参数能让应用程序定制函数的行为即指定用来排序的语言。 locales 和 options 参数是依赖于具体实现的,在旧的实现中这两个参数是完全被忽略的。var arr = ['南京', '北京', '上海', '杭州', '深圳']; function sortChinese (arr) { // 参数: 排序的数组 arr.sort(fun.原创 2020-12-23 20:46:33 · 877 阅读 · 0 评论 -
javascript 对象比较是否属于同一类型对象。
js属于动态类型语言,那么我们如何判断 A实例是否和 b对象实例属于同一类型呢?比如 array === array ,Error === Error,自定义类的实例比较 等等对象类型判断。如果只用 typeof 肯定是不行的。因为不管 array 还是 object、error、或自定义实例类型都是返回 object 。其实我们可以通过对象实例都原型比较是否属于同一个对象类型。Object.getPrototypeOf(obj)方法返回指定对象的原型(内部[[Prototype]]属性的值)。所以.原创 2020-12-21 14:59:30 · 1093 阅读 · 0 评论 -
冻结和只读取当前对象的属性,不读取对象原型的属性
Object.entries(obj)Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)。const object1 = { a: 'somestring', b: 42};for (const [key, value] of Object.entries(object1)) { console.log(`${key}: ${value}`);原创 2020-12-18 10:53:53 · 159 阅读 · 0 评论 -
关于在node.js 中使用formData 发送axios上传文件失败解决方案
最近用到了node.js进行文件上传到其他服务器,在使用formData 上传时候遇到对方接口处理失败问题问题原因因为node.js 中 axios 没法识别 Content-Type 设置,所以我们要调用 fromData.getHaders 进行配置const file = readFile(path)const form = new FormData()form.append('file', file)const formHeaders = form.getHeaders()cons.原创 2020-12-11 11:31:39 · 1617 阅读 · 2 评论