推入数组时做一些事情,可观察到

时间:2017-05-11 15:29:17

标签: javascript arrays rxjs observable

我有一个数组x和一个来自x的Observable(arrObs)。有一个按钮,当用户点击按钮时,一个随机数被推入数组。我希望每当一个值被推入数组时就从数组中打印出来。

http://jsbin.com/sovuyipuju/edit?js,console,output

var x = [1,2,3,4];
var clicks = Rx.Observable.fromEvent(document.querySelector('#button1'),'click');
clicks
  .map(function(y){return Math.floor(Math.random()*50)})
  .subscribe(function(z){  x.push(z);});

arrObs = Rx.Observable.from(x);
arrObs
  .map(function(x){  return x*2;})
  .subscribe(function(value){console.log(value);
});

1 个答案:

答案 0 :(得分:0)

使用纯js:

var arr=[];
arr.oldpush=arr.push.bind(arr);
arr.push=function(values...){
  values.forEach(console.log);
  this.oldpush(...values);
};

(我认为没有必要使用框架......)