假设我有一个可观察的进入,如下所示。在这里,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进入对象属性并不是那么冗长?