Javascript 从响应中检索请求中使用的变量
我正在开发一个函数,该函数根据许多ID发出一定数量的请求。然后它选择结果元素的id 我想在响应中传播我用于请求的id。类似这样的内容:(仅作说明)Javascript 从响应中检索请求中使用的变量,javascript,node.js,request,response,Javascript,Node.js,Request,Response,我正在开发一个函数,该函数根据许多ID发出一定数量的请求。然后它选择结果元素的id 我想在响应中传播我用于请求的id。类似这样的内容:(仅作说明) const fetchSomeIds=async(ids,Service)=>{ const requests=ids.map(id=>{return{url:`/something/`+id+`/something else`}); const responses=wait Promise.all(requests.map( request=>Se
const fetchSomeIds=async(ids,Service)=>{
const requests=ids.map(id=>{return{url:`/something/`+id+`/something else`});
const responses=wait Promise.all(requests.map(
request=>Service.get(request.url)
));
const someIds=responses.map(元素=>{return{id:id/*(用于请求)*/,some_id:element.data.some_id};});
返回小体;
};
所以如果我使用ids=[27,54],我会得到一些id=133和一些id=32。响应应如下所示:
[
{
“id”:27,
“某个id”:133
},
{
“id”:54,
“some_id”:32
}
]
因为,您可以使用相同的索引访问原始数组:
const someIds = responses.map((element, index) => {
return {id: ids[index], some_id: element.data.some_id};
});
但是,将所有处理放在一个map
回调中可能更简单:
function fetchSomeIds(ids, Service) {
return Promise.all(ids.map(async id => {
const request = {url: `/something/` + id + `/something-else`};
const response = await Service.get(request.url);
const element = response;
return {id, some_id: element.data.some_id};
}));
}