RxJS:合并多个地图运算符

问题描述 投票:1回答:1

我想在一个管道中有两个地图,就像这样:

take(1),
map(({ users } => users.filter(user => user.uid = uid)),
map((data: User) => {
   let user = Object.assign({}, data)

   if ('_seconds' in user.createdAt) {
      user.createdAt = new Date(user.createdAt._seconds * 1000)
   }

   return user
})

我以前从未有过RxJ的经验,但是我想这看起来太错误了。什么是正确的方法?

rxjs
1个回答
2
投票

没有问题。但是,我看不到为什么需要多个map运算符。您可以像这样合并它们:

take(1),
map(({ users }) => {
   const data = users.filter(user => user.uid = uid); // something should be wrong here, data is an array.
   let user = Object.assign({}, data)

   if ('_seconds' in user.createdAt) {
      user.createdAt = new Date(user.createdAt._seconds * 1000)
   }

   return user
})
© www.soinside.com 2019 - 2024. All rights reserved.