在Rx.js

时间:2015-12-19 16:12:26

标签: javascript promise reactive-programming rxjs

假设我有一个可观察的进入,如下所示。在这里,company有一个方法website。我想为这个名为websiteStatusCode的对象添加一个新属性,这是一个数字。 websiteStatusCode网站状态代码的值。我必须向服务器发出HTTP请求,并且我想存储状态代码。我们有一个request承诺,返回response.statusCode

companyStream.map(company => {
  // company.website
})

我是否只是在地图中打开承诺?我是否必须将承诺包裹在Rx.Observable.fromPromise内并返回?

companyStream.map(company => {
  if (!company.website) {
    company.websiteStatusCode = false
    return company
  }
  return Rx.Observable.fromPromise(request(company.website).then(request => {
    company.websiteStatusCode = request.statusCode
    return company
  }))
})

上面这个有效代码是什么?有没有更好的方法来利用Rx进入对象属性并不是那么冗长?

0 个答案:

没有答案