【问题标题】:NodeJs get JSON for each url requestNodeJs 为每个 url 请求获取 JSON
【发布时间】:2017-11-10 11:34:51
【问题描述】:

你好,我用 nodeJS 创建了一个 JSON 下载器,如果使用一个 url 这工作正常,如果我尝试从一个 url 数组创建几个 JSON 文件,问题就开始了,JSON 名称应该等于使用的 url 有什么建议吗? 谢谢

我使用 2 个 npm 模块

var request = require("request");

var fs = require('fs');

var url =[
    "http://ip.jsontest.com/",
    "http://ip.jsontest.com/",
    "http://ip.jsontest.com/"
]
request({
    url: url,
    json: true
}, function (error, response, body) {
    if (!error && response.statusCode === 200) {
        fs.writeFile("de.json", JSON.stringify(response), function(err){
            if(err){console.log(err);} else {console.log("create"  + url + 'JSON ');}
        });
    }
})

【问题讨论】:

  • 是否可以将 url 数组传递给请求?

标签: javascript arrays json node.js for-loop


【解决方案1】:

request不支持数组,需要使用循环

来自文档:uri || url - fully qualified uri or a parsed url object from url.parse()

var request = require("request");

var fs = require('fs');

var urls =[
    "http://ip.jsontest.com/",
    "http://ip.jsontest.com/",
    "http://ip.jsontest.com/"
];

urls.forEach(function (url) {
    request({
        url: url,
        json: true
    }, function (error, response, body) {
        if (!error && response.statusCode === 200) {
            fs.writeFile("de.json", JSON.stringify(response), function(err){
                if(err){console.log(err);} else {console.log("create"  + url + 'JSON ');}
            });
        }
    })
});

【讨论】:

    猜你喜欢
    • 2022-08-19
    • 2021-11-29
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 2013-07-22
    • 2016-05-30
    • 1970-01-01
    • 2018-04-06
    相关资源
    最近更新 更多