源代码:

<html>
<script>function subscribeToArray(array){return function(subscriber){for (var i = 0, len = array.length; i < len; i++) {subscriber.next(array[i]);}subscriber.complete();};}var input = [1,2,3];var result = subscribeToArray(input);var print = function(input){if(!!input){console.log('next: ' + input);}else{console.log('complete!');}
}var oSubscriber = {next: print,complete: print
};result(oSubscriber);
debugger;
</script>
</html>

输出:

在subscribeToArray返回的函数内部,输入array通过一个闭包被存储:

更多Jerry的原创文章,尽在:“汪子熙”:

rxjs里subscribeToArray的一个JavaScript模拟实现相关推荐

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

    subscribeToArray 函数体的逻辑:它的实质是一个函数: 该函数接收一个 array 作为输入参数,遍历这个 array,将其每个元素,作为另一个匿名函数执行的一部分.该匿名函数体内,将 ...

  2. RxJS CombineLatest operator 的一个具体使用例子

    CombineLatest 的使用场景: This operator is best used when you have multiple, long-lived observables that ...

  3. rxjs of操作符里subscribeToArray的实现原理示意图及分析

    写一段简单的代码来测试subscribeToArray: test1(){const subscribeToArray = (array) => (subscriber) => {for ...

  4. 【JavaScript】JavaScript模拟实现面向对象一张图帮助你深刻理解原型链和原型对象

    文章目录 一.JavaScript模拟面向对象 1.函数是类 2.函数中各种变量的声明 3.关于函数内的this 小结:JavaScript中函数是什么? 4.练习:面向对象思想编写Complex类 ...

  5. 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏...

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  6. JavaScript - 模拟键盘输入支付密码

    JavaScript - 模拟键盘输入支付密码 Max.Bai 2016-12-29 0x00: 发生了什么事 我做自动化测试的时候,需要自动化在页面上输入这个密码,什么样子的,看下面: 有没有很像支 ...

  7. python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)...

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  8. javascript模拟点击事件--实现视频自动播放

    背景      这两年一直在做浏览器开发相关的工作,我们所做的浏览器禁用了视频自动播放功能,以实现视频预加载功能:浏览器在视频播放时为了实现视频秒开效果(就是一点击页面里的播放按钮就立即开始播放,而不 ...

  9. HTML里的哪一部分Javascript 会在页面加载的时候被执行?

    最近遇到一个问题: HTML里的哪一部分Javascript 会在页面加载的时候被执行() A : 文件头部 B : 文件尾 C : <head>标签部分 D : <body> ...

最新文章

  1. ps软件怎么测试性能,怎么样提高Photoshop性能,让PS软件快速启动
  2. 【讲●解】KMP算法
  3. 【渝粤教育】 国家开放大学2020年春季 2064管理学基础 参考试题
  4. kettle使用_ETL工具(kettle)-《PentahoKettle解决方案-使用PDI构建开源ETL解决方案》
  5. MySQL中的char与varchar详解
  6. Java文档阅读笔记-C3P0连接池的使用
  7. 三星s3android wear,三星galaxy wearable下载
  8. 认识C#中的委托和事件
  9. 有关对耗时很大循环进行并行化优化的探讨之二:多重循环任务的并发处理
  10. 【第101期】游戏策划:给@山海遥同学的简历解析
  11. 个性化广告推荐系统实战系列(一):任务数据简介和基本流程梳理
  12. js 数字转为罗马数字(互转换),I 、II 、 III 、IV、V
  13. 概率论知识回顾(二):古典概型,几何概型
  14. git name consists only of disallowed characters:
  15. stm32毕业设计 单片机智能路灯设计与实现
  16. USRP 套件在windows下的快速引入
  17. COTS应用程序开发框架简介(一)
  18. 中国高校计算机大赛——微信小程序应用开发赛
  19. python支持复数类型、以下说法错误的是_Python支持复数类型,以下哪个说法是错误的?...
  20. ADM 使用vm10.15.0虚拟机安装macOS10.14

热门文章

  1. 在 iOS创建 第一个Cordova 项目
  2. IDC运维团队技术交流总结篇————换个角度看世界
  3. 面试系列三 如何保证消息不被重复消费
  4. (转)为什么人生气时说话用喊的?
  5. 【刷题】LOJ 6011 「网络流 24 题」运输问题
  6. LaTeX中用BibTex管理参考文献
  7. Android--获取当前系统时间
  8. JAVA lock 原理讲解
  9. 解决IllegalStateException: Can not perform this action after onSaveInstanceState
  10. 文献学习(part20)--Sparse Subspace Clustering: Algorithm, Theory, and Applications