如何在一个请求中向一个端点发出多个请求?我找到了一个允许你这样做的异步库,但我似乎错误地实现了它。
我有一个[]批次[1,2,3 ... 18],我通过先前的请求然后我想将批次[]的元素传递给一个端点,这将给我所有的人批量作为承诺。这是代码:
var allPeople = [];
var allBatches = [];
app.get('/allpeople', function(req, res){
async.each(allBatches, function(id){
//console.log(id);
client.batches.people(id)
.then(function(people){
allPeople.push(people);
console.log(people)
res.send(people)
})
})
})
app.get('/batches', function(req, res){
client.batches.list()
.then(function(batches) {
batches.forEach(function(batch){
allBatches.push(batch)
});
res.send(allBatches)
})
})
allPeople []最终应该是由18个人物对象组成的数组。
知道我哪里出错了?
答案 0 :(得分:3)
您缺少回调(错误)功能。
参数
答案 1 :(得分:0)
你需要调用callback()函数来迭代你的bathes数组的所有值。现在它只是在第一个值上迭代并返回共鸣。尝试实现上面的代码:
async.each(batches, function(id, callback) {
client.batches.people(id)
.then(function(people){
allPeople.push(people);
callback();
})
}, function(err) {
//Handle Final response here
if( err ) { return console.log(err); }
res.json({'peoples':allPeople});
});