Hy, я столкнулся с проблемой с RxJS кодовых операторами ...Расширенный пример RxJS5 сочетания с замедленным наблюдаемой
здесь пример объект:
const userData = {
dbKeyPath: 'www.example.com/getDbKey',
users:[
{name:'name1'},
{name:'name2'},
{name:'name3'}
]
}
Сделать наблюдаемым из них:
const userDataStream = Rx.Observable.of(userData)
const dbKeyStream : string = this.userDataStream.mergeMap(_userData => getDbKey(_userData.dbKeyPath))
const userStream = this.userDataStream.pluck('users').mergeMap(_users=>Rx.Observable.from(_users))
Мой ожидаемый результат - поток с комбинированными наблюдаемыми величинами:
[user[0],dbKey],[user[1],dbKey],[user[2],dbKey]...
Она работает довольно хорошо с withLatestFrom
оператора:
const result = userStream.withLatestFrom(dbKeyStream) // [user, dbkey]
Но, как я могу заархивировать такой же результат, когда я применить .delay()
оператора dbKeyStream
?
Спасибо, но я не могу принять, потому что мне нужно сделать запрос ** только один раз **, и использовать тот же результат с 'user' – huadev
Я обновил пример кода, чтобы вы могли видеть, что для каждого' dbKey 'он только выполняет' getDbKey() 'один раз и использует этот результат для каждого пользователя в массиве' users' –
Почему они переименовали 'flatMap' в' mergeMap'? –