1

以下の例では、ユーザーを取得し、そのユーザーのディレクトリを作成しています。ユーザーが作成されたことを単純にログに記録したい。userチェーンの後半で変数にアクセスする最良の方法は何ですか?

let ensureUser$ = ghUser$
  .map(u => Rx.Observable.fromPromise(createDir(u)))
  .flatMapLatest(x => x)
  .do(() => debug('created user dir'))

私は次のようなことをしたい:

let ensureUser$ = ghUser$
  .map(u => Rx.Observable.fromPromise(createDir(u)))
  .flatMapLatest(x => x)
  .do(() => debug(`created user dir ${u}`))
4

2 に答える 2

1

zip はすべての新しいデータがある場合にのみ新しいオブジェクトを返すため、zip を使用してこのようなことを行うことができます。

const user$ = Rx.Observable.just('ed')
const returnedArrary$ = user$.map(u=>[u]);

const source = Rx.Observable.zip(
    user$,
    returnedArrary$
  )
 .do(u=>console.log(`created user dir ${u[0]}`))
 .subscribe((x)=>console.log(x));

ユーザーがリクエストごとに変更されない場合は、必要に応じて withLatestFrom または CombineLatest を使用できます。

于 2016-03-08T20:20:26.487 に答える