随笔分类 -  RxJS

暂且将 RxJS 理解成处理事件流的 Lodash
RxJS 操作符 - ajax 发起异步请求
摘要:import { ajax } from 'rxjs/ajax' import { map } from 'rxjs' ajax({ url: 'https://httpbin.org/delay/2', method: 'POST', headers: { 'Content-Type': 'app 阅读全文

posted @ 2022-07-06 14:11 aisowe 阅读(225) 评论(0) 推荐(0) 编辑

数据的生产者/消费者与推拉模式(Push/Pull)
摘要:将数据看作是商品, 生产数据的是生产者, 使用数据的是消费者. 生产者有很多, Function / Promise / Generator / Iterator / RxJS. 等等. 但这些生产者的类型却不一样, 它们被分为 Push(推模式) 和 Pull(拉模式). 拉模式的生产者更加常见, 阅读全文

posted @ 2022-07-06 12:56 aisowe 阅读(666) 评论(0) 推荐(0) 编辑

RxJS - map 操作符用法
摘要:获取鼠标点击坐标 1. 常规写法: document.addEventListener("click", (e) => { console.log([e.clientX, e.clientY]); }); 2. RxJS 写法(使用 map 操作符): import { fromEvent, map 阅读全文

posted @ 2022-07-06 11:43 aisowe 阅读(393) 评论(0) 推荐(0) 编辑

RxJS: 事件节流 - throttleTime 方法
摘要:下面要实现一个点击事件每秒触发一次的功能. 常规写法: let begin = Date.now(); document.addEventListener("click", () => { if (Date.now() - begin >= 1000) { console.log("一秒只会触发一次 阅读全文

posted @ 2022-07-06 11:25 aisowe 阅读(455) 评论(0) 推荐(0) 编辑

我理解的"事件"
摘要:我理解的"事件", 是一个会"重复发生的动作", 并由此产生的各种后续行为. 点击鼠标是一个事件, 点击后的各种动作和状态, 就是这个事件的"产物". Vue 中监听一个 state 的变化, 这个 state 变化时就是一个"事件", 后续的逻辑是其"产物". 回调函数也是一个事件, 内部在进行到 阅读全文

posted @ 2022-07-06 11:02 aisowe 阅读(12) 评论(0) 推荐(0) 编辑

RxJS 让代码更纯粹, 让状态更易控制
摘要:下面是一个计数器的常规写法, 可以看到, count 在函数体之外, 这个 count 就是一个状态, 它受到 click 监听函数的控制, 相当于是分开的两部分, 这种看起来没啥大毛病, 但并不优雅. 如果状态变多了, 或者它们受多个来源控制, 那状态就有可能乱掉, 容易引发混乱. let cou 阅读全文

posted @ 2022-07-06 10:41 aisowe 阅读(61) 评论(0) 推荐(0) 编辑

第一个 rxjs 例子
摘要:我一直觉得, 用最少的代码实现功能是非常酷的. 如果能把少写代码与逻辑清晰结合起来, 那就是再酷不过了. 因此想记住各种常用库的方法, 尽量使用起来, 减少代码量. 这也是我学他们的主要原因. 事件监听的惯常做法是这样的: document.addEventListener("click", () 阅读全文

posted @ 2022-07-06 10:19 aisowe 阅读(55) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示