Javascript “保持跟踪”;“原件”;RxJs中的项目
我需要访问流的“原始”值 我的用例:Javascript “保持跟踪”;“原件”;RxJs中的项目,javascript,functional-programming,rxjs,rxjs5,Javascript,Functional Programming,Rxjs,Rxjs5,我需要访问流的“原始”值 我的用例: 正在迭代URL列表 请求每个URL 处理响应,此时,我还需要来自第一次“迭代”的URL 示例代码: const Rx=require('rxjs'); const request=require('request'); //Rx版本中的我的请求方法 const req=Rx.Observable.bindNodeCallback(请求); const list=[/*URL列表*/]; 可观察到的接收源(列表) .flatMap(req)//eq到:.fla
const Rx=require('rxjs');
const request=require('request');
//Rx版本中的我的请求方法
const req=Rx.Observable.bindNodeCallback(请求);
const list=[/*URL列表*/];
可观察到的接收源(列表)
.flatMap(req)//eq到:.flatMap(url=>req(url))
.map(响应=>{
//这里我需要响应对象
//以及我用来请求它的URL(“原始”值)。
});
有什么想法吗?:) FlatMap有一个重载,它将输入和每个生成的值都用于映射:
.flatMap(
url => doRequest(url),
(url, res) => ({ url, res })
)