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