Skip to content

基础概念

fluth中一共有两种流,分别是 Stream 流和 Subjection 流,所谓的流就是一个可以订阅的数据源。

typescript
import { Stream } from "fluth";

const promise$ = new Stream();

const subjection$ = promise$.then(xxx);

发布数据

Stream 流可以进行数据的推送,使用next方法进行数据的推送,所有订阅节点都能收到推送的数据

typescript
import { Stream } from "fluth";

const promise$ = new Stream();

promise$.then((data) => console.log(data));

promise$.next("hello"); // 打印 hello

订阅节点

fluth采用promise的形式进行数据流的推送,通过thenthenOnce方法对流新增一个订阅节点,返回订阅节点Subjection实例,整体使用和promise保持一致。

链式订阅

调用订阅节点的subjectionthen进行链式订阅

取消订阅

调用订阅节点的subjectionunsubscribe取消订阅

主动执行

调用订阅节点的subjectionexecute方法重新执行上一次订阅的数据流

结束

只有 Stream 流才可以结束,结束意味着流不在推送新的数据。

typescript
import { Stream } from "fluth";

const promise$ = new Stream();

promise$.next(1, true); // true表示结束,最后一次推流

每个订阅节点在执行完最后这次数据推送后都会触发finish这个promise,然后自动取消订阅。