【发布时间】:2018-03-23 17:29:47
【问题描述】:
我有一个包含 3 个项目的数组:
arrActions: Array<Item> = [{ url: 'http://1.com', data: '5' },
{ url: 'http://2.com', data: '6' },
{ url: 'http://3.com', data: '7' }];
我想为每个项目执行一个 Ajax 请求。那没问题 。但我还需要知道我在subscribe 回调中处理的是哪个项目。
这是我尝试过的:
from(this.arrActions).pipe(
mergeMap((i) => this.ajaxAlike(i)))
.subscribe(data => {
console.log(data)
});
这会返回:
但我不知道每个回调与哪个请求相关。
所以我想也许是这样的:
from(this.arrActions).pipe(
mergeMap((i) =>(of({data:i.data, url: this.ajaxAlike(i.url)}))))
.subscribe(data => {
console.log(data)
});
但是现在,http 没有执行:
此外,我想我在这里走错路了。
问题:
我如何调用所有 url,并在 subscribe,同时获得 http 结果 + item 本身?
【问题讨论】:
标签: javascript rxjs rxjs5