RxJS 响应式编程入门
为什么需要 Observable RxJS 说是弥补关于数据处理场景的一块空白 → 推送多个数据。 这里把我们对数据的处理方式做了两个维度的分类: Type SINGLE MULTIPLE Pull Function Iterator Push Promise Observable Pull 和 Push Pull 就是我要的时候,就能要到。生产者无感。 每个 JS 函数都是在 Pull ES2015 的生成器(function*)弥补了"拉取多个值"的空白 Push 就是我决定啥时候给,消费者无感。 典型例子就是 Promise,等 then 的时候自然会 push 给你 从生产者和消费者的角度理解: 生产者 消费者 Pull 被动:等着要数据的时候再产生数据 主动:会决定啥时候去要数据 Push 主动:按照自己的节奏产生数据,然后推出去 被动:就等着数据(等回调) 代码示例 1. 拉取单个数据 function getNum() { return Math.floor(Math.random() * 10) } function singlePull() { const num = getNum() console.log(num, 'singlePull') } 2. 推送单个数据 function getNumPromise() { return new Promise((resolve, reject) => { setTimeout(() => { resolve(getNum()) }, 1000) }) } function singlePush() { const promise = getNumPromise() promise....