繁体   English   中英

rxjs快捷方式,用于映射一个属性,但流式传输整个对象

[英]rxjs shortcut for mapping of one property but streaming the whole object

我想操纵对象的属性,但要流式传输整个对象

这个美女有捷径吗?

Observable.of(data)
  .map((data) => {data.newDueDate = this.filterDate(data.newDueDate); return data;})
  .map((data) => {data.reply = this.generateReply(data.request); return data;})
  ...

我正在搜索类似的内容,因此我可以按清晰的原子步骤更改data对象。

Observable.of(data)
  .mapProperty('newDueDate' => this.filterDate)
  .mapProperty('reply' => this.generateReply(data.request))
  ...

您可以使用do

Observable.of(data)
  .do(data => {
     data.newDueDate = this.filterDate(data.newDueDate);
     data.reply = this.generateReply(data.request);
  })

编辑评论:

Observable.of(data)
  .do(data => data.newDueDate = this.filterDate(data.newDueDate))
  .do(data => data.reply = this.generateReply(data.request))

您可以这样做,也可以创建或拥有自定义运算符,但我认为这太多了。

好吧,我认为您可以将两种操作都添加到第一个map()但是我同意它看起来有些Object.assign()因此您可以使用Object.assign()例如:

Observable.of(data)
  .map(d => Object.assign(d, {
    newDueDate: this.filterDate(data.newDueDate),
    reply: this.generateReply(data.request),
  }))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM