我们可以假设我们已经有一个流来表示 HTTP 请求的第一个“级别”的结果。我们可以简单地映射这些结果并将它们转换为新的 HTTP 请求:
// this should be sent to HTTP driver
let mailboxDetailsRequests$ = mailboxes$.map(mailboxes => {
// map all mailboxes to requests sequence
return Observable.fromArray(mailboxes.map(mailbox => ({
url: 'get/mailbox/url/' + mailbox.name,
mailbox: mailbox.name
}))
}).flatMap(_ => _)
现在我们可以通过过滤mailbox
请求的属性来访问这些 HTTP 响应(或者您可以使用某种区分这些请求与其他类型请求的区别功能):
// and now you can get the responses by filtering the HTTP source
let mailboxResult$ = HTTP.filter(r$$ => r$$.request.mailbox).switch();