javascript – 我可以用rx.js观察数组的添加吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 我可以用rx.js观察数组的添加吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1911字,纯文字阅读大概需要3分钟。
内容图文
coffee> rext = require 'rx'
coffee> arr = [1..5]
[ 1, 2, 3, 4, 5 ]
coffee> obs = rext.Observable.fromArray(arr)
{ _subscribe: [Function] }
coffee> obs.subscribe( (x) -> console.log("added value: " + x))
added value: 1
added value: 2
added value: 3
added value: 4
added value: 5
{ isStopped: true,
observer:
{ isStopped: true,
_onNext: [Function],
_onError: [Function: defaultError],
_onCompleted: [Function: noop] },
m: { isDisposed: true, current: null } }
coffee> arr.push(12) # expecting "added value: 12"
6 # instead got new length of array
coffee>
它看起来像订阅函数只会在创建时触发一次.看起来它有点用词不当,因为我真的只是为了 – 每个数组而不是观察它的变化.该代码几乎与维基上的代码完全相同.所以要么我做错了,要么订阅不符合我的预期.
解决方法:
当您添加订阅服务器时,Observable.fromArray会创建一个Observable,它会立即触发每个数组项的事件.因此,它不会“观察”该阵列的更改.
如果你需要一个“可推送的集合”,Bacon.js中的Bus类可能就是你想要的.对于RxJs,我的小MessageQueue类具有类似的功能.
内容总结
以上是互联网集市为您收集整理的javascript – 我可以用rx.js观察数组的添加吗?全部内容,希望文章能够帮你解决javascript – 我可以用rx.js观察数组的添加吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。