Rxjs中concatMap、switchMap、exhaustMap、mergeMap详解

之前对Rxjs的concatMap、switchMap、exhaustMap、mergeMap这四个映射操作符的理解有欠缺,以下是对这四个操作符的深入理解。首先在理解这四个操作符之前一定要理解的概念就是源数据映射Observable,我们可以把这两部分想象成流水线工厂的原材料加工机器,一定要独立的理解这两部分,这四个操作符不同的地方就是在加工机器这一部分使用了不同的逻辑,以此来产出不同的结果

JSON Schema初探

最近由于项目需要,需要非开发人员根据业务数据的手动录入表单并且可以同步输出对应的JSON数据.记录下整个业务分析和最终实现的过程.

ChatGPT与讯飞语音识别和语音合成结合中的问题总结

首先是下面的流程图,最终呈现的效果为,用户开启语音输入,识别问题后调用GPT获得结果的同时向讯飞发起语音合成.

以ChatGPT为基础结合ChatVRM,讯飞语音合成和语音识别前端方案介绍

以ChatGPT为基础结合ChatVRM,讯飞语音合成和语音识别实现的前端方案中,单纯的从前端角度出发简要描述各个技术的结合.

Promise深度解析

之前对于Promise并没有深度的了解过,闲来无事手写了Promise,过程中对Promise有了更进一步的了解,其中比较难的就在于then()的内部处理,之所以能实现链式调用和异步处理,最重要的核心就是一旦调用了then()方法,内部就会重启一个新的Promise并将其返回,并根据Promise的状态来做不一样的处理

深入理解Typescript

针对基础的Ts知识不做过多解释,相关文档查阅即可.本文注重对于类型操作中的难点和日常项目中的高频类型等做整理.本文会在内置的高级类型基础上延展.
针对内置的高级类型,这里按照操作类型做了简单的分类.

Angular代码规范:Eslint及Cz工具集

本文主要记录Eslint和Cz工具集配置过程:

Angular-Viewport适配方案

本文你主要用于记录viewport适配方案在Ng中的应用.具体viewport方案的优劣和介绍不做过多介绍.

装饰器与Angular

装饰器在Angular中是个很常见的概念,@Component@Directive@Pipe@NgModule@Injectable@Input@Inject等等.本文着重讲解各种装饰器的作用以及在Angular中的实际使用

浅谈V8

工作流程

  • 解析器(parser):将JS代码解析成抽象语法树AST
  • 解释器(Ignition):将抽象语法树(AST)解释成字节码(bytecode),同时可以解释执行字节码的能力
  • 编译器(TurboFan):编译出高效的机器代码

V8的惰性解析和预解析

V8的解析阶段会将源文本解析为抽象语法树,再交由解释器解释成字节码,事实上,解析前会经历一系列的操作;这个过程大根是先将源文本(UTF-8、Latin1、ASCII)转为UTF-16的字符流,扫描器(Scanner)通过组合底层字符流中的连续字符来构造这些标记。然后提供给解析器;