Javascript 如何同步执行数量可变的POST请求?
我有一系列的Javascript 如何同步执行数量可变的POST请求?,javascript,node.js,express,Javascript,Node.js,Express,我有一系列的项目,需要按顺序进行POSTed var items = ["data 1", "data 2", etc]; while (i < numOfItems) { var formData = { ID : ID, UID : UID, item : items[i]; } request.post({url:'http://example.com/a', formData: formData}, f
项目
,需要按顺序进行POST
ed
var items = ["data 1", "data 2", etc];
while (i < numOfItems) {
var formData = {
ID : ID,
UID : UID,
item : items[i];
}
request.post({url:'http://example.com/a', formData: formData}, function(err, httpResponse, body){
if (err) {
return console.error('Post failed:', err);
}
console.log('Post successful! Server responded with:', body);
i++;
});
}
var项目=[“数据1”、“数据2”等];
而(i
这将创建一个无限循环。如何同步可变数量的请求
谢谢 使用您发布的代码最简单的解决方案是递归
var items = ["data 1", "data 2", etc];
function doRequest(i) {
if (i< numOfItems) {
var formData = {
ID : ID,
UID : UID,
item : items[i];
}
request.post({url:'http://example.com/a', formData: formData}, function(err, httpResponse, body){
if (err) {
// this will stop the "loop" altogether
return console.error('Post failed:', err);
}
console.log('Post successful! Server responded with:', body);
doRequest(++i);
});
}
}
var项目=[“数据1”、“数据2”等];
功能需求(一){
如果(i
是否希望每个请求在开始之前等待上一个请求完成?@JaromandaX Yes