Rxjs 里 subscribeToArray 工具函数的详细分析

简介: Rxjs 里 subscribeToArray 工具函数的详细分析

image.png

该函数接收一个 array 作为输入参数,遍历这个 array,将其每个元素,作为另一个匿名函数执行的一部分。该匿名函数体内,将 array 的元素作为 subscriber 订阅函数的输入:

image.png

<html>
<script>
const subscribeToArray = (array) => (subscriber) => {
    for (let i = 0, len = array.length; i < len && !subscriber.closed; i++) {
        subscriber.next(array[i]);
    }
    subscriber.complete();
};
const aInput = [1,2,3,4];
const newFunction = subscribeToArray(aInput);
debugger;
</script>
</html>

image.png

<html>
<script>
const subscribeToArray = (array) => (subscriber) => {
    for (let i = 0, len = array.length; i < len && !subscriber.closed; i++) {
        subscriber.next(array[i]);
    }
    subscriber.complete();
};
const aInput = [1,2,3,4];
const newFunction = subscribeToArray(aInput);
const subscriber = {
  closed: false
};
subscriber.next = (data) => console.log("next: " + data);
subscriber.complete = () => console.log("completed!");
debugger;
newFunction(subscriber);
</script>
</html>

image.png

直到应用程序代码调用 Observable 的 subscribe 方法时,才会变量 input 数组,用 subscribe 的 next 方法依次处理 input 数组的元素。在 CombineLatest Operator 的例子里,input 元素就是 Observable 对象的组合。

相关文章
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的航帆学院网站的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的航帆学院网站的详细设计和实现(源码+lw+部署文档+讲解等)
|
SQL 缓存 数据库
使用BenmarkSQL运行TPC-C及查看oceanbase执行计划查看
进行oceanbase数据库TPC-C测试,查看oceanbase的执行计划
428 0
使用BenmarkSQL运行TPC-C及查看oceanbase执行计划查看
|
Java
2018-05-18 第十二天
一、Eclipse日食 是IBM使用纯java开发的一个主要用于java应用程序开发的一个集成开发环境IDE。可以帮助我们快速的开发java 项目。 bug虫子。在软件行业中的bug 就是程序中的错误。
1271 0
|
云安全 安全 网络安全
【成都云栖大会】阿里云发布技术公益计划:为100家创业公司提供免费安全防护
5月23日,在云栖大会 · 成都峰会上,阿里云正式推出产业安全扶助计划。 这是一个面向初创企业的公益项目,计划为每家入选企业免费提供含主机安全、网络安全和抗DDoS在内的全套云安全防护,协助其抵御网络黑灰产业,让企业专注业务的高速发展,无需再因安全问题“拖后腿”。
1851 0
|
2天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
265 116
|
17天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
11天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
656 220