node.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > node.js > 使用http标准库异步加载https请求json数据

Nodejs如何使用http标准库异步加载https请求json数据

作者:江鸟木又源码分析

这篇文章主要介绍了Nodejs如何使用http标准库异步加载https请求json数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

1. 同步方法实现

//通过https加载json数据
let url = 'https://img-home.csdnimg.cn/data_json/toolbar/toolbar1105.json';
let GetJsonData=function (url){
    const https = require('https');
    https.get(url, (response) => {
        let data = '';
        //数据正在接收中...
        response.on('data', (chunk) => {
            data += chunk;
        });
        //数据接收完成
        response.on('end', () => {
            console.log('同步请求数据完成:',JSON.parse(data));
        });
 
    }).on("error", (error) => {
        console.log("Error: " + error.message);
    });
}

加载数据

GetJsonData(url);

加载结果 

2.异步方法实现

//异步请求JSON数据实现
let GetJsonDataAsync=(url)=>{
    const https = require('https');
    return new Promise((resolve, reject) => {
        https.get(url, (response) => {
            let data = '';
            //数据正在接收中...
            response.on('data', (chunk) => {
                data += chunk;
            });
            //数据接收完成
            response.on('end', () => {
                //console.log(JSON.parse(data));
                resolve(data);//数据接收完成
            });
 
        }).on("error", (error) => {
            console.log("Error: " + error.message);
            reject(new Error(error.message));
        });
    });
};

加载结果处理

//异步调用
GetJsonDataAsync(url).then(value => {
    console.log("======================下面为异步加载数据=================================");
    if (typeof value === "string") {
        console.log('异步加载请求数据完成:', JSON.parse(value));
    }
})

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文