Javascript 如何使用rxjs可观察对象实现以下内容?

Javascript 如何使用rxjs可观察对象实现以下内容?,javascript,rxjs,observable,rxjs5,Javascript,Rxjs,Observable,Rxjs5,如何在rxjs中使用Observable实现以下代码 let fn$ = Observable.from([ x => x + "a", x => x + "b", x => x + "c" ]) let value$ = Observable.of("x", "y", "z") value$ .concatMap(val => fn$.scan((acc, fun) => fun(acc), val)) .subscribe(console.

如何在rxjs中使用Observable实现以下代码

let fn$ = Observable.from([
  x => x + "a",
  x => x + "b",
  x => x + "c"
])
let value$ = Observable.of("x", "y", "z")

value$
  .concatMap(val => fn$.scan((acc, fun) => fun(acc), val))
  .subscribe(console.log)

/* prints
"xa"
"xab"
"xabc"
"ya"
"yab"
"yabc"
"za"
"zab"
"zabc" */
我在这里试图实现的是,我有一个函数数组,每个函数都接受一个对象,修改它并将该对象返回到堆栈中的下一个函数

function A(res:SomeType){
    //Do Something
    return res;
}

function B(res:SomeType){
    //Do Something
    return res;
}

function C(res:SomeType){
    //Do Something
    return res;
}

let fnPipe = [];

fnPipe.push(A); 
fnPipe.push(B);
fnPipe.push(C);

obj= {key:"val"};

fnPipe.forEach((fn)=>{
    obj= fn(obj);
});
console.log(obj);

我如何在rxjs中使用observable实现同样的功能?

我真的不明白为什么要用observable实现这一功能
let fn$ = Observable.from([
  x => x + "a",
  x => x + "b",
  x => x + "c"
])
let value$ = Observable.of("x", "y", "z")

value$
  .concatMap(val => fn$.scan((acc, fun) => fun(acc), val))
  .subscribe(console.log)

/* prints
"xa"
"xab"
"xabc"
"ya"
"yab"
"yabc"
"za"
"zab"
"zabc" */