繁体   English   中英

使用node.js从多个JSON文件动态生成url和页面内容

[英]Dynamically generate url and page content from multiple JSON files using node.js

我试图使用node.js express生成多个URL /页面。 我在一个JSON文件中存储了多个(目前有10个,但数量可能会更改)URL,而我还有另外10个(将要更改)JSON文件,分别包含每个URL的信息。

目前,我正在使用request-json从本地服务器获取JSON文件。 但是,我的代码仅允许我在循环中创建最后一个URL及其内容

client.get("url1", function(error, response, body){                
    for (var i=0; i<10; i++){
        var urlName = body.row[i];
        client.get("url2" + urlName, function(error, response, body) {
            app.get('/'+ urlName, function (req, res){ 
                res.send(body);     
            })
        })
    }
});

我认为这是因为for循环中存在async调用。 您是说在async函数app.get使用iurlName当前值。

app.get将被调用时client.get将结束。

因此,当它将被调用时,您的for循环将完成,因此它将以i/urlName最新值进行调用,这将是您的最后一行i=10 为此。

尝试这个:-

var performCurrentOperation = function(i,body){
    var urlName = body.row[i];
    client.get("url2" + urlName, function(error, response, body) {
        app.get('/'+ urlName, function (req, res){ 
            res.send(body);     
        });
    });
}

client.get("url1", function(error, response, body){                
    for (var i=0; i<10; i++){
        performCurrentOperation(i,body);
    }
});

基本上在这里,我正在用那个值i绑定一个函数,因此它应该对i当前值执行操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM