在下面的示例中,我引导用户并为该用户创建目录。我想简单地将用户记录为已创建。什么是在链后期访问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}`))
我想做类似的事情:
SELECT t1.Barcode, SUM(t1.Date - t2.Date)
FROM TheTable t1
JOIN TheTable t2 ON t1.Barcode=t2.Barcode
AND t1.Code = 'Redemption'
AND t2.Code = 'Sale'
GROUP BY Barcode
答案 0 :(得分: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));
如果用户没有根据您的需要更改每个请求,您可以使用最新的或最新的组合。
答案 1 :(得分:1)
您可以创建一个闭包来存储用户,然后使用flatMapLatest来发出用户和目录结果:
let ensureUser$ = ghUser$
.flatMapLatest(user => {
return Rx.Observable.fromPromise(createDir(u))
// Emit the directory and user information
.map(directory => ({ directory, user }));
})
.do((x) => debug('created', x))